Início rápido: Implantar um contêiner do SQL Server em Linux no Kubernetes usando gráficos do Helm

Aplica-se a: SQL Server no Linux

Este guia de início rápido orienta você nas etapas para implantar um contêiner do SQL Server no Linux no Serviço de Kubernetes do Azure (AKS) com gráficos do Helm, a partir de uma máquina cliente com Windows.

O AKS é um serviço do Kubernetes gerenciado para implantar e gerenciar clusters de contêiner. Helm é uma ferramenta de empacotamento de software livre que ajuda a instalar e gerenciar o ciclo de vida de aplicativos Kubernetes.

Pré-requisitos

  • Uma assinatura do Azure. Caso não tenha uma assinatura do Azure, é possível criar uma conta gratuita.

  • Criar um cluster do AKS.

  • Baixe e examine o gráfico do Helm para este início rápido. O gráfico de exemplo contém muitas opções de configuração para personalizar a implantação do SQL Server.

Instalar ferramentas de cliente

No computador cliente Windows, você precisará das ferramentas a seguir.

Se você preferir usar outro sistema operacional cliente, precisará selecionar os pacotes apropriados para essa plataforma.

Instale kubectl usando CLI do Azure

Você usará o kubectl para interagir com o cluster do Kubernetes. Para obter mais informações, confira az aks install-cli.

Para instalar o kubectl, execute o seguinte comando no prompt de comando do Windows:

az aks install-cli

Tip

Você pode adicionar o kubectl à variável de ambiente local PATH para não precisar digitar o caminho completo todas as vezes.

Conectar o kubectl ao cluster do AKS

  1. Você precisa mesclar o contexto do cluster do AKS para que os comandos kubectl ou helm sejam executados nesse cluster específico do AKS.

    Para mesclar, execute o comando conforme descrito no artigo Conectar-se a um cluster do AKS:

    az aks get-credentials --resource-group <resourcegroupname> --name <aks clustername>
    

    Você deve ver a seguinte saída, onde <clustername> é o cluster fornecido e <username> é a sua conta de usuário local do Windows:

    Merged "<clustername>" as current context in C:\Users\<username>\.kube.config
    
  2. Confirme se a mesclagem foi bem-sucedida executando kubectl get nodes. A saída deve mostrar os nós no contexto do seu cluster do AKS.

    NAME                    STATUS   ROLES   AGE    VERSION
    <aks-node>-vmss000000   Ready    agent   141d   v1.16.13
    <aks-node>-vmss000001   Ready    agent   141d   v1.16.13
    

Examinar o gráfico de exemplo do Helm

Agora você está pronto para implantar o SQL Server no cluster AKS via o gráfico de Helm.

Este guia de início rápido fornece um chart do Helm de exemplo, "no estado em que se encontra". O exemplo é somente para referência. Lembre-se de examinar o arquivo readme para entender os valores de configuração que correspondem aos requisitos de configuração.

Se você quiser implantar o SQL Server no modo StatefulSet, que é o modo recomendado para implantações do SQL Server, poderá em vez disso exibir uma implantação de gráfico do Helm "no estado em que se encontra" baseado em StatefulSet.

  1. Baixe o gráfico de exemplo do Helm.

  2. Passe para o diretório em que você baixou o gráfico de exemplo e modifique o arquivo values.yaml, se necessário.

Implante o SQL Server no cluster do AKS

Implante o SQL Server usando o seguinte comando: O nome da implantação é personalizável, portanto, você pode alterar mssql-latest-deploy para qualquer coisa que desejar.

helm install mssql-latest-deploy . --set ACCEPT_EULA.value=Y --set MSSQL_PID.value=Developer

No exemplo anterior, o gráfico e seus arquivos estão no diretório atual, representado pelo ponto final (.). Você poderá especificar o caminho do gráfico, se preferir.

Se o procedimento for bem-sucedido, você verá uma saída semelhante:

NAME: mssql-latest-deploy
LAST DEPLOYED: Wed Apr 06 21:36:19 2022
NAMESPACE: default
STATUS: deployed
REVISION: 1

Verificar a implantação do SQL Server

A implantação em um cluster do Kubernetes pode levar alguns minutos. Para verificar se a implantação foi bem-sucedida, execute o seguinte comando:

kubectl get all

Se o procedimento for bem-sucedido, você verá uma saída semelhante:

NAME                                      READY   STATUS    RESTARTS   AGE
pod/mssql-latest-deploy-7f8c7f5bc-9grmg   1/1     Running   0          2m56s

NAME                          TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
service/kubernetes            ClusterIP      10.0.0.1       <none>        443/TCP          141d
service/mssql-latest-deploy   LoadBalancer   10.0.247.220   20.40.0.145   1433:30780/TCP   2m56s

NAME                                  READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/mssql-latest-deploy   1/1     1            1           2m56s

NAME                                            DESIRED   CURRENT   READY   AGE
replicaset.apps/mssql-latest-deploy-7f8c7f5bc   1         1         1       2m56s

Conectar-se ao SQL Server em execução no AKS

Você pode se conectar a uma instância do SQL Server usando qualquer ferramenta de cliente familiar do SQL Server, como sqlcmd, SQL Server Management Studio (SSMS) ou a extensão MSSQL para Visual Studio Code.

Por exemplo, se você se conectar à instância do SQL Server usando o SSMS, poderá usar as seguintes configurações:

  • Nome do servidor: use o endereço External-IP para o serviço mssql-latest-deploy. Neste exemplo, é 20.40.0.145.
  • Autenticação: selecione Autenticação do SQL Server na lista suspensa.
  • Logon: use sa, que é a conta de administrador do sistema.
  • Senha: A senha sa corresponde ao valor fornecido na opção de configuração MSSQL_SA_PASSWORD, no arquivo values.yaml do gráfico do Helm.

Depois de se conectar, você poderá expandir a instância do SQL Server no Pesquisador de Objetos.

Captura de tela mostrando o Pesquisador de Objetos conectado à instância do banco de dados.

Limpar os recursos

Se você não quiser continuar usando o cluster do AKS, lembre-se de excluir o cluster.