Snabbstart: Distribuera en SQL Server Linux-container till Kubernetes med hjälp av Helm-diagram

Gäller för:SQL Server i Linux

Denna snabbstart tar dig genom stegen för att distribuera en SQL Server on Linux-container till Azure Kubernetes Service (AKS) med Helm-diagram, från en Windows-klientdator.

AKS är en hanterad Kubernetes-tjänst för att distribuera och hantera containerkluster. Helm är ett paketeringsverktyg med öppen källkod som hjälper dig att installera och hantera livscykeln för Kubernetes-program.

Förutsättningar

  • Ett Azure-abonnemang. Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto.

  • Skapa ett AKS-kluster.

  • Ladda ned och granska exemplet Helm-diagram för den här snabbstarten. Exempeldiagrammet innehåller många konfigurationsalternativ för att anpassa SQL Server-distributionen.

Installera klientverktyg

På din Windows-klientdator behöver du följande verktyg.

Om du föredrar att använda ett annat klientoperativsystem måste du välja lämpliga paket för plattformen.

Installera kubectl med Azure CLI

Du använder kubectl för att interagera med Kubernetes-klustret. Mer information finns i az aks install-cli.

Om du vill installera kubectlkör du följande kommando från kommandotolken i Windows:

az aks install-cli

Tip

Du kan lägga till kubectl- till din lokala PATH miljövariabel, så att du inte behöver skriva in den fullständiga sökvägen varje gång.

Ansluta kubectl till AKS-klustret

  1. Du måste sammanfoga kontexten för AKS-klustret så att kubectl eller helm-kommandon körs på det specifika AKS-klustret.

    Om du vill sammanfoga kör du kommandot enligt beskrivningen i artikeln Anslut till AKS-kluster:

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

    Du bör se följande utdata, där <clustername> är klustret du angav och <username> är ditt lokala Windows-användarkonto:

    Merged "<clustername>" as current context in C:\Users\<username>\.kube.config
    
  2. Bekräfta att sammanfogningen lyckades genom att köra kubectl get nodes. Utdata ska visa noderna i kontexten för ditt AKS-kluster.

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

Granska Helm-exempeldiagrammet

Du är nu redo att distribuera SQL Server till AKS-klustret via Helm-diagrammet.

Denna snabbstart ger ett exempel på "as-is" Helm-diagram. Exemplet är endast som referens. Kom ihåg att granska readme-filen för att förstå de konfigurationsvärden som matchar dina konfigurationskrav.

Om du vill distribuera SQL Server i StatefulSet-läge, vilket är det rekommenderade läget för SQL Server-distributioner, kan du istället visa ett exempel på "as-is" StatefulSet-baserad Helm-diagramutplacering.

  1. Ladda ned Helm-exempeldiagrammet.

  2. Växla till katalogen där du laddade ned exempeldiagrammet och ändra filen values.yaml om det behövs.

Distribuera SQL Server till AKS-klustret

Distribuera SQL Server med hjälp av följande kommando. Distributionsnamnet är anpassningsbart, så du kan ändra mssql-latest-deploy till vad du vill.

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

I föregående exempel finns diagrammet och dess filer i den aktuella katalogen, som representeras av perioden (.). Du kan ange sökvägen till diagrammet om du vill.

Om det lyckas visas liknande utdata:

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

Verifiera SQL Server-distribution

Det kan ta några minuter att distribuera till ett Kubernetes-kluster. Kontrollera att distributionen lyckades genom att köra följande kommando:

kubectl get all

Om det lyckas visas liknande utdata:

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

Ansluta till SQL Server som körs på AKS

Du kan ansluta till en instans av SQL Server med alla välbekanta SQL Server-klientverktyg, till exempel sqlcmd, SQL Server Management Studio (SSMS) eller MSSQL-tillägget för Visual Studio Code.

Om du till exempel ansluter till SQL Server-instansen med SSMS kan du använda följande inställningar:

  • Servernamn: Använd External-IP-adressen för mssql-latest-deploy-tjänsten. I det här exemplet är det 20.40.0.145.
  • -autentisering: Välj SQL Server-autentisering i listrutan.
  • Login: Använd sa, som är systemadministratörskontot.
  • Lösenord: Lösenordet för sa matchar det värde som du angav i konfigurationsalternativet MSSQL_SA_PASSWORD i values.yaml-filen i Helm-diagrammet.

När du ansluter kan du expandera SQL Server-instansen i Object Explorer.

Skärmbild som visar objektutforskaren som är ansluten till databasinstansen.

Rensa resurser

Kom ihåg att ta bort klustretom du inte ska fortsätta använda AKS-klustret.