Freigeben über


Tutorial: Verbinden einer AKS-App mit Azure SQL-Datenbank

In diesem Lernprogramm erfahren Sie, wie Sie eine in AKS bereitgestellte Anwendung mithilfe von Service Connector mit einer Azure SQL-Datenbank verbinden. Sie führen die folgenden Aufgaben durch:

  • Erstellen einer Azure SQL-Datenbank-Ressource
  • Erstellen Sie mit einem Dienstconnector eine Verbindung zwischen dem AKS-Cluster und der Datenbank.
  • Aktualisieren des Containers
  • Aktualisieren des Anwendungscodes
  • Bereinigen Sie Azure-Ressourcen.

Voraussetzungen

Erstellen einer Azure-SQL-Datenbank

  1. Erstellen Sie eine Ressourcengruppe, um die Azure-Ressourcen zu speichern, die Sie in diesem Tutorial mithilfe des Befehls az group create erstellen.

    az group create \
        --name $RESOURCE_GROUP \
        --location eastus
    
  2. Befolgen Sie die Anweisungen zum Erstellen einer Azure SQL-Datenbank-Instanz in der Ressourcengruppe, die Sie im vorherigen Schritt erstellt haben. Notieren Sie sich den Servernamen, den Datenbanknamen und die Datenbankanmeldeinformationen für die Verwendung in diesem Tutorial.

Erstellen einer Dienstverbindung in AKS mit Service Connector

Registrieren der Ressourcenanbieter für den Dienstconnector und die Kubernetes-Konfiguration

Sie registrieren die Ressourcenanbieter für den Dienstconnector und die Kubernetes-Konfiguration mithilfe des Befehls az provider register.

az provider register --namespace Microsoft.ServiceLinker
az provider register --namespace Microsoft.KubernetesConfiguration

Tipp

Sie können mit den Befehlen az provider show --namespace "Microsoft.ServiceLinker" --query registrationState und az provider show --namespace "Microsoft.KubernetesConfiguration" --query registrationState überprüfen, ob diese Ressourcenanbieter bereits registriert sind. Wenn die Ausgabe Registered lautet, wurde der Dienstanbieter bereits registriert.

Eine neue Verbindung erstellen

Erstellen Sie über Microsoft Entra Workload ID eine Dienstverbindung zwischen Ihrem AKS-Cluster und Ihrer SQL-Datenbank-Instanz.

  1. Navigieren Sie im Azure-Portal zur AKS-Clusterressource.

  2. Wählen Sie Einstellungen>Dienstconnector>Erstellen aus.

  3. Konfigurieren Sie auf der Registerkarte Grundlegende Einstellungen die folgenden Einstellungen:

    • Kubernetes-Namespace: Wählen Sie default aus.
    • Diensttyp: Wählen Sie SQL-Datenbank aus.
    • Verbindungsname: Verwenden Sie den vom Dienstconnector bereitgestellten Verbindungsnamen, oder geben Sie Ihren eigenen Verbindungsnamen ein.
    • Abonnement: Wählen Sie das Abonnement aus, das den Azure SQL-Datenbank-Dienst enthält.
    • SQL-Server: Wählen Sie Ihren SQL-Server aus.
    • SQL-Datenbank: Wählen Sie Ihre SQL-Datenbank-Instanz aus.
    • Clienttyp: Die Codesprache oder das Framework, die bzw. das Sie zum Herstellen einer Verbindung mit dem Zieldienst verwenden, z. B. Python

    Screenshot des Azure-Portals mit dem Formular zum Erstellen einer neuen Verbindung mit einer SQL-Datenbank-Instanz in AKS

  4. Wählen Sie "Weiter" aus: "Authentifizierung", wählen Sie auf der Registerkarte " Authentifizierung " die Option "Workload-Identität " und dann eine vom Benutzer zugewiesene verwaltete Identität aus.

  5. Wählen Sie Weiter: Netzwerk>Weiter: Überprüfen und Erstellen>In Cloud Shell erstellen aus.

  6. Die Cloud Shell wird gestartet und führt die Befehle aus, um eine Verbindung zu erstellen. Möglicherweise müssen Sie einige Konfigurationsänderungen während der Befehlsverarbeitung bestätigen. Nachdem der Befehl erfolgreich ausgeführt wurde, werden Verbindungsinformationen angezeigt, und Sie können die Schaltfläche "Aktualisieren" im Bereich "Service Connector " auswählen, um das neueste Ergebnis anzuzeigen.

Warnung

Microsoft empfiehlt, immer den sichersten Authentifizierungsflow zu verwenden. Der in diesem Verfahren beschriebene Authentifizierungsfluss erfordert ein hohes Vertrauen in die Anwendung und trägt Risiken, die in anderen Flüssen nicht vorhanden sind. Sie sollten diesen Flow nur verwenden, wenn andere sicherere Flows (z. B. verwaltete Identitäten) nicht anwendbar sind. Wählen Sie die Authentifizierungsmethode Workload ID (empfohlen) aus.

Erstellen Sie über eine Verbindungszeichenfolge eine Dienstverbindung zwischen Ihrem AKS-Cluster und Ihrer SQL-Datenbank-Instanz.

  1. Navigieren Sie im Azure-Portal zur AKS-Clusterressource.

  2. Wählen Sie Einstellungen>Dienstconnector>Erstellen aus.

  3. Konfigurieren Sie auf der Registerkarte Grundlegende Einstellungen die folgenden Einstellungen:

    • Kubernetes-Namespace: Wählen Sie default aus.
    • Diensttyp: Wählen Sie SQL-Datenbank aus.
    • Verbindungsname: Verwenden Sie den vom Dienstconnector bereitgestellten Verbindungsnamen, oder geben Sie Ihren eigenen Verbindungsnamen ein.
    • Abonnement: Wählen Sie das Abonnement aus, das den Azure SQL-Datenbank-Dienst enthält.
    • SQL-Server: Wählen Sie Ihren SQL-Server aus.
    • SQL-Datenbank: Wählen Sie Ihre SQL-Datenbank-Instanz aus.
    • Clienttyp: Die Codesprache oder das Framework, die bzw. das Sie zum Herstellen einer Verbindung mit dem Zieldienst verwenden, z. B. Python

    Screenshot des Azure-Portals mit dem Formular zum Erstellen einer neuen Verbindung mit einer SQL-Datenbank-Instanz in AKS

  4. Wählen Sie "Weiter" aus: "Authentifizierung", geben Sie auf der Registerkarte " Authentifizierung " Ihren Datenbankbenutzernamen und Das Kennwort ein.

  5. Wählen Sie Weiter: Netzwerk>Weiter: Überprüfen und Erstellen>Erstellen aus.

  6. Nach der erfolgreichen Bereitstellung können Sie im Bereich Dienstconnector Informationen zur neuen Verbindung anzeigen.

Aktualisieren des Containers

Nachdem Sie nun eine Verbindung zwischen Ihrem AKS-Cluster und der Datenbank erstellt haben, müssen Sie die Verbindungsgeheimnisse abrufen und in Ihrem Container bereitstellen.

  1. Navigieren Sie im Azure-Portal zur AKS-Clusterressource. Wählen Sie unter Einstellungen die Option Dienstconnector aus.

  2. Wählen Sie die neu erstellte Verbindung und dann YAML-Schnipsel aus. Diese Aktion öffnet einen Bereich, in dem eine vom Dienstconnector generierte YAML-Beispieldatei angezeigt wird.

  3. Um die Verbindungsgeheimnisse als Umgebungsvariablen in Ihrem Container festzulegen, haben Sie zwei Möglichkeiten:

    • Erstellen Sie eine Bereitstellung direkt mithilfe des bereitgestellten YAML-Codeausschnitts. Dieser Codeausschnitt enthält hervorgehobene Abschnitte, in denen das geheime Objekt angezeigt wird, das als Umgebungsvariablen eingefügt wird. Wählen Sie Anwenden aus, um mit diesem Verfahren fortzufahren.

      Screenshot des Azure-Portals mit dem YAML-Beispielschnipsel zum Erstellen einer neuen Verbindung mit einer SQL-Datenbank-Instanz in AKS

    • Wählen Sie alternativ unter Ressourcentyp die Option Kubernetes-Workload und dann eine vorhandene Kubernetes-Workload aus. Mit dieser Aktion wird das Geheimnisobjekt Ihrer neuen Verbindung als Umgebungsvariablen für die ausgewählte Workload fest. Nachdem Sie die Workload ausgewählt haben, wählen Sie Übernehmen aus.

      Screenshot des Azure-Portals mit dem Kubernetes-Schnipsel zum Erstellen einer neuen Verbindung mit einer SQL-Datenbank-Instanz in AKS

Aktualisieren des Anwendungscodes

Aktualisieren Sie als letzten Schritt den Anwendungscode so, dass Ihre Umgebungsvariablen verwendet werden. Befolgen Sie dazu diese Anweisungen.

Bereinigen von Ressourcen

Wenn Sie die Ressourcen, die Sie in diesem Tutorial erstellt haben, nicht mehr benötigen, können Sie sie entfernen, indem Sie die Azure-Ressourcengruppe löschen.

Sie löschen Ihre Ressourcengruppe mithilfe des Befehls az group delete.

az group delete --resource-group $RESOURCE_GROUP

Lesen Sie die folgenden Artikel, um mehr über Konzepte im Zusammenhang mit Dienstconnectors zu erfahren und sich darüber zu informieren, wie AKS Sie beim Herstellen einer Verbindung mit Azure-Diensten unterstützt: