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.
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
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
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.
Laden Sie das Helm-Beispielchart herunter.
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 mit dem folgenden Befehl 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 vorherigen 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 denmssql-latest-deploy
-Dienst. In diesem Beispiel lautet er20.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 Dateivalues.yaml
des Helm-Charts angegeben haben.
Nachdem Sie eine Verbindung hergestellt haben, können Sie die SQL Server-Instanz im Objekt-Explorer erweitern.
Bereinigen von Ressourcen
Wenn Sie ihren AKS-Cluster nicht mehr verwenden möchten, sollten Sie den Cluster löschen.