Tutorial: Herstellen einer Verbindung mit einem Azure-Speicherkonto in Azure Kubernetes Service (AKS) mithilfe des Dienstconnectors und unter Verwendung einer Workloadidentität
Hier erfahren Sie, wie Sie unter Verwendung einer Workloadidentität und mithilfe des Dienstconnectors einen Pod in einem AKS-Cluster erstellen, der mit einem Azure-Speicherkonto kommuniziert. In diesem Tutorial führen Sie die folgenden Aufgaben durch:
- Erstellen eines AKS-Clusters und eines Azure-Speicherkontos
- Erstellen einer Verbindung zwischen dem AKS-Cluster und dem Azure-Speicherkonto unter Verwendung des Dienstconnectors
- Klonen einer Beispielanwendung, die von einem AKS-Cluster aus mit dem Azure-Speicherkonto kommuniziert
- Bereitstellen der Anwendung in einem Pod im AKS-Cluster und Testen der Verbindung
- Bereinigen der Ressourcen
Wichtig
Service Connect in AKS befindet sich derzeit in der Vorschau. Die zusätzlichen Nutzungsbestimmungen für Microsoft Azure-Vorschauen enthalten rechtliche Bedingungen. Sie gelten für diejenigen Azure-Features, die sich in der Beta- oder Vorschauversion befinden oder aber anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Installieren Sie die Azure CLI, und melden Sie sich mithilfe des Befehls az login bei der Azure CLI an.
- Installieren Sie Docker und kubectl für die Verwaltung von Containerimage- und Kubernetes-Ressourcen.
- Grundkenntnisse im Zusammenhang mit Containern und AKS. Informationen zu den ersten Schritten finden Sie unter Tutorial: Vorbereiten einer Anwendung für Azure Kubernetes Service (AKS).
- Grundkenntnisse im Zusammenhang mit Workloadidentitäten.
Erstellen von Azure-Ressourcen
Erstellen Sie eine Ressourcengruppe für dieses Tutorial.
az group create \ --name MyResourceGroup \ --location eastus
Erstellen Sie mithilfe des folgenden Befehls einen AKS-Cluster, oder sehen Sie sich das entsprechende Tutorial an. Wir erstellen die Dienstverbindung und die Poddefinition und stellen die Beispielanwendung in diesem Cluster bereit.
az aks create \ --resource-group MyResourceGroup \ --name MyAKSCluster \ --enable-managed-identity \ --node-count 1
Stellen Sie mithilfe des folgenden Befehls eine Verbindung mit dem Cluster her:
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSCluster
Erstellen Sie mithilfe des folgenden Befehls ein Azure-Speicherkonto, oder sehen Sie sich das entsprechende Tutorial an. Dies ist der Zieldienst, der mit dem AKS-Cluster verbunden ist und mit der Beispielanwendung interagiert.
az storage account create \ --resource-group MyResourceGroup \ --name MyStorageAccount \ --location eastus \ --sku Standard_LRS
Erstellen Sie mithilfe des folgenden Befehls eine Azure-Containerregistrierung, oder sehen Sie sich das entsprechende Tutorial an. Die Registrierung hostet das Containerimage der Beispielanwendung, das von der AKS-Poddefinition genutzt wird.
az acr create \ --resource-group MyResourceGroup \ --name MyRegistry \ --sku Standard
Aktivieren Sie außerdem anonymes Pullen, damit der AKS-Cluster die Images in der Registrierung nutzen kann.
az acr update \ --resource-group MyResourceGroup \ --name MyRegistry \ --anonymous-pull-enabled
Erstellen Sie mithilfe des folgenden Befehls eine benutzerseitig zugewiesene verwaltete Identität, oder sehen Sie sich das entsprechende Tutorial an. Die benutzerseitig zugewiesene verwaltete Identität wird bei der Erstellung der Dienstverbindung verwendet, um die Workloadidentität für AKS-Workloads zu aktivieren.
az identity create \ --resource-group MyResourceGroup \ --name MyIdentity
Erstellen einer Dienstverbindung mit dem Dienstconnector (Vorschau)
Erstellen Sie über das Azure-Portal oder mithilfe der Azure CLI eine Dienstverbindung zwischen einem AKS-Cluster und einem Azure-Speicherkonto.
Öffnen Sie Ihren Kubernetes-Dienst im Azure-Portal, und wählen Sie im linken Menü die Option Dienstconnector aus.
Wählen Sie Erstellen aus, und geben Sie die Einstellungen wie unten gezeigt ein. Behalten Sie bei den anderen Einstellungen die Standardwerte bei.
Registerkarte Grundlagen:
Einstellung Option Beschreibung Kubernetes-Namespace default Der Namespace, in dem Sie die Verbindung im Cluster benötigen Diensttyp Speicher – Blob Art des Zieldiensts. Verbindungsname storage_conn Verwenden Sie den vom Dienstconnector bereitgestellten Verbindungsnamen, oder wählen Sie Ihren eigenen Verbindungsnamen aus. Abonnement <MySubscription>
Das Abonnement für Ihren Azure Blob Storage-Zieldienst. Speicherkonto <MyStorageAccount>
Das Zielspeicherkonto, mit dem Sie eine Verbindung herstellen möchten. Clienttyp Python Die Codesprache oder das Framework, die bzw. das Sie zum Herstellen einer Verbindung mit dem Zieldienst verwenden. Registerkarte „Authentifizierung“:
Authentifizierungseinstellung Option Beschreibung Authentifizierungstyp Workloadidentität Der Authentifizierungstyp des Dienstconnectors. Benutzerseitig zugewiesene verwaltete Identität <MyIdentity>
Zum Aktivieren der Workloadidentität ist eine benutzerseitig zugewiesene verwaltete Identität erforderlich. Nach Erstellung der Verbindung werden auf der Seite „Dienstconnector“ Informationen zu der neuen Verbindung angezeigt.
Klonen der Beispielanwendung
Klonen Sie das Beispielrepository:
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
Navigieren Sie zum Beispielordner des Repositorys für Azure Storage:
cd serviceconnector-aks-samples/azure-storage-workload-identity
Erstellen und Pushen des Containerimage
Verwenden Sie den Azure CLI-Befehl
az acr build
, um die Images zu erstellen und in Ihre Containerregistrierung zu pushen:az acr build --registry <MyRegistry> --image sc-demo-storage-identity:latest ./
Zeigen Sie mithilfe des Befehls
az acr repository list
die Images in Ihrer Containerregistrierung an:az acr repository list --name <MyRegistry> --output table
Ausführen der Anwendung und Testen der Verbindung
Ersetzen Sie die Platzhalter in der Datei
pod.yaml
im Ordnerazure-storage-identity
.- Ersetzen Sie
<YourContainerImage>
durch den Imagenamen, der im letzten Schritt erstellt wurde (z. B.<MyRegistry>.azurecr.io/sc-demo-storage-identity:latest
). - Ersetzen Sie
<ServiceAccountCreatedByServiceConnector>
durch das Dienstkonto, das nach der Verbindungserstellung vom Dienstconnector erstellt wurde. Der Name des Dienstkontos kann im Azure-Portal des Dienstconnectors überprüft werden. - Ersetzen Sie
<SecretCreatedByServiceConnector>
durch das Geheimnis, das nach der Verbindungserstellung vom Dienstconnector erstellt wurde. Der Name des Geheimnisses kann im Azure-Portal des Dienstconnectors überprüft werden.
- Ersetzen Sie
Stellen Sie mithilfe des Befehls
kubectl apply
den Pod in Ihrem Cluster bereit. Installieren Siekubectl
bei Bedarf mithilfe des Befehls az aks install-cli manuell. Der Befehl erstellt einen Pod namenssc-demo-storage-identity
im Standardnamespace Ihres AKS-Clusters.kubectl apply -f pod.yaml
Überprüfen Sie, ob die Bereitstellung erfolgreich war, indem Sie den Pods mithilfe von
kubectl
anzeigen:kubectl get pod/sc-demo-storage-identity.
Überprüfen Sie, ob die Verbindung hergestellt wurde. Sehen Sie sich dazu mithilfe von
kubectl
die Protokolle an:kubectl logs pod/sc-demo-storage-identity
Bereinigen von Ressourcen
Wenn Sie die in diesem Tutorial erstellten Ressourcen nicht mehr benötigen, löschen Sie die Ressourcengruppe, um alle erstellten Ressourcen zu löschen.
az group delete \
--resource-group MyResourceGroup
Nächste Schritte
Lesen Sie die folgenden Artikel, um mehr über Dienstconnectorkonzepte zu erfahren und sich darüber zu informieren, wie AKS Sie beim Herstellen einer Verbindung mit Diensten unterstützt.