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 – Linux

Este início rápido guia você pelas etapas para implantar o SQL Server em contêineres do Linux no AKS (Serviço de Kubernetes do Azure) com gráficos do Helm, de um computador cliente 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 um sistema operacional cliente diferente, precisará selecionar os pacotes apropriados para essa plataforma.

Instalar o kubectl usando o módulo Az PowerShell

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

Dica

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 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 do AKS por meio do gráfico do Helm.

Este início rápido fornece um exemplo de gráfico Helm "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. Alterne 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 comando abaixo. 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 acima, o gráfico e seus arquivos estão no diretório atual, representado pelo ponto (.). Você poderá especificar o caminho do gráfico, se preferir.

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

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 à seguinte:

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 à instância do SQL Server usando qualquer ferramenta de cliente conhecida do SQL Server, como o SSMS (SQL Server Management Studio), o Azure Data Studio ou o sqlcmd.

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 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.

Screenshot showing the Object Explorer connected to the database instance.

Limpar os recursos

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