Schnellstart: Bereitstellen eines SQL Server für Linux-Containers in Kubernetes mithilfe von Helm-Charts

Gilt für:SQL Server – Linux

Diese Schnellstartanleitung führt Sie durch die Schritte zum Bereitstellen von SQL Server für Linux-Containern in Azure Kubernetes Service (AKS) mithilfe von Helm-Charts über einen Windows-Clientcomputer.

AKS ist ein verwalteter Kubernetes-Dienst zum Bereitstellen und Verwalten von Containerclustern. Helm ist ein Open Source-Verpackungstool, das Ihnen dabei hilft, Kubernetes-Anwendungen zu installieren und ihren Lebenszyklus zu verwalten.

Voraussetzungen

  • Ein Azure-Abonnement. Falls Sie über kein Azure-Abonnement verfügen, können Sie ein kostenloses Konto erstellen.

  • Erstellen eines AKS-Clusters.

  • Laden Sie das Helm-Beispielchart für diese Schnellstartanleitung herunter, und überprüfen Sie es. Das Beispielchart enthält viele Konfigurationsoptionen zum Anpassen der SQL Server-Bereitstellung.

Installieren der Clienttools

Auf Ihrem Windows-Clientcomputer benötigen Sie die folgenden Tools.

Wenn Sie lieber ein anderes Clientbetriebssystem verwenden möchten, müssen Sie die entsprechenden Pakete für diese Plattform auswählen.

Installieren von kubectl über das Az PowerShell-Modul

Für die Interaktion mit dem Kubernetes-Cluster verwenden Sie kubectl. Weitere Informationen finden Sie unter az aks install-cli.

Um kubectl zu installieren, führen Sie an der Windows-Eingabeaufforderung den folgenden Befehl aus:

az aks install-cli

Tipp

Sie können kubectl Ihrer lokalen PATH-Umgebungsvariablen hinzufügen, damit Sie nicht jedes Mal den vollständigen Pfad eingeben müssen.

Verbinden von kubectl mit dem AKS-Cluster

  1. Sie müssen den Kontext des AKS-Clusters zusammenführen, damit kubectl- oder Helm-Befehle in diesem spezifischen AKS-Cluster ausgeführt werden.

    Führen Sie zum Zusammenführen den Befehl aus, der im Artikel Herstellen einer Verbindung mit einem AKS-Cluster beschrieben wird:

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

    Folgende Ausgabe sollte angezeigt werden. Hierbei entspricht <clustername> dem von Ihnen bereitgestellte Cluster und <username> Ihrem lokales Windows-Benutzerkonto:

    Merged "<clustername>" as current context in C:\Users\<username>\.kube.config
    
  2. Vergewissern Sie sich, dass die Zusammenführung erfolgreich war, indem Sie kubectl get nodes ausführen. In der Ausgabe sollten die Knoten im Kontext Ihres AKS-Clusters angezeigt werden.

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

Überprüfen des Helm-Beispielcharts

Sie sind jetzt bereit, den SQL Server auf AKS-Cluster über das Helm-Chart bereitzustellen.

Diese Schnellstartanleitung enthält ein Helm-Beispielchart. Das Beispiel dient nur zur Referenz. Lesen Sie die readme-Datei, um die Konfigurationswerte zu verstehen, die Ihren Konfigurationsanforderungen entsprechen.

Wenn Sie SQL Server, wie für SQL Server-Bereitstellungen empfohlen, im StatefulSet-Modus bereitstellen möchten, können Sie stattdessen die Bereitstellung eines StatefulSet-basierten Helm-Beispielcharts anzeigen.

  1. Laden Sie das Helm-Beispielchart herunter.

  2. Wechseln Sie zu dem Verzeichnis, in das Sie das Beispielchart heruntergeladen haben, und ändern Sie bei Bedarf die Datei values.yaml.

Bereitstellen von SQL Server für den AKS-Cluster

Stellen Sie SQL Server mithilfe des folgenden Befehls bereit. Der Bereitstellungsname ist anpassbar, sodass Sie mssql-latest-deploy beliebig ändern können.

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

Im obigen Beispiel befinden sich das Chart und die zugehörigen Dateien im aktuellen Verzeichnis, dargestellt durch den Punkt (.). Sie können den Pfad des Charts nach Belieben angeben.

Wenn der Vorgang erfolgreich ist, wird ungefähr folgende Ausgabe angezeigt:

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

Überprüfen der SQL Server-Bereitstellung

Die Bereitstellung in einem Kubernetes-Cluster kann einige Minuten dauern. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die Bereitstellung erfolgreich war:

kubectl get all

Wenn der Vorgang erfolgreich ist, wird ungefähr folgende Ausgabe angezeigt:

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

Herstellen einer Verbindung mit der auf AKS ausgeführten SQL Server-Instanz

Sie können eine Verbindung mit der SQL Server-Instanz mithilfe eines beliebigen vertrauten SQL Server-Clienttools herstellen, z. B. SQL Server Management Studio (SSMS), Azure Data Studio oder sqlcmd.

Wenn Sie beispielsweise eine Verbindung mit der SQL Server-Instanz über SSMS herstellen, können Sie die folgenden Einstellungen verwenden:

  • Servername: Verwenden Sie die External-IP-Adresse für den mssql-latest-deploy-Dienst. In diesem Beispiel lautet er 20.40.0.145.
  • Authentifizierung: Wählen Sie die SQL Server-Authentifizierung aus der Dropdownliste aus.
  • Anmeldung: Verwenden Sie sa, also das Systemadministratorkonto.
  • Kennwort: Das sa-Kennwort entspricht dem Wert, den Sie in der Konfigurationsoption sa_password in der Datei values.yaml des Helm-Charts angegeben haben.

Nachdem Sie eine Verbindung hergestellt haben, können Sie die SQL Server-Instanz im Objekt-Explorer erweitern.

Screenshot showing the Object Explorer connected to the database instance.

Bereinigen von Ressourcen

Wenn Sie ihren AKS-Cluster nicht mehr verwenden möchten, sollten Sie den Cluster löschen.