Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Lernprogramm erfahren Sie, wie Sie Ihre Azure Kubernetes Service (AKS) Anwendungen mit Azure OpenAI mithilfe von Service Connector mit Workload-Identitätsauthentifizierung verbinden. Anschließend richten Sie Ihre anmeldeinformationsfreien Verbindungen ein, und testen sie, indem Sie ein Beispiel Python Anwendung bereitstellen, die mit dem Azure OpenAI kommuniziert.
In diesem Tutorial erfahren Sie:
- Erstellen Sie einen AKS-Cluster und Azure OpenAI-Ressource mit GPT-4-Modell.
- Konfigurieren Sie Service Connector, um die Verbindung mit der Workload-Identität herzustellen.
- Klonen Sie eine Beispielanwendung.
- Erstellen Sie und übertragen Sie Container-Images in Azure Container Registry.
- Stellen Sie die Anwendung in AKS bereit, und überprüfen Sie die Verbindung.
- Bereinigen der Ressourcen
Voraussetzungen
- Ein Azure Konto mit einem aktiven Abonnement. Kostenlos ein Konto erstellen.
-
Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Get started with Azure Cloud Shell.
Wenn Sie CLI-Referenzbefehle lieber lokal ausführen möchten, install die Azure CLI. Wenn Sie Windows oder macOS verwenden, sollten Sie erwägen, Azure CLI in einem Docker-Container auszuführen. Weitere Informationen finden Sie unter How to run the Azure CLI in a Docker container.
Wenn Sie eine lokale Installation verwenden, melden Sie sich mit dem Befehl az login beim Azure CLI an. Um den Authentifizierungsprozess abzuschließen, führen Sie die in Ihrem Terminal angezeigten Schritte aus. Weitere Anmeldeoptionen finden Sie unter Authentifizierung bei Azure mithilfe von Azure CLI.
Wenn Sie dazu aufgefordert werden, installieren Sie die Azure CLI Erweiterung bei der ersten Verwendung. Weitere Informationen zu Erweiterungen finden Sie unter Use and manage extensions with the Azure CLI.
Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um auf die neueste Version zu aktualisieren.
- Docker und kubectl zum Verwalten von Containerimages und Kubernetes-Ressourcen.
- Grundlegendes Verständnis von Containern und AKS. Informationen zu den ersten Schritten finden Sie unter Tutorial: Vorbereiten einer Anwendung für Azure Kubernetes Service (AKS).
- Zugriffsberechtigungen für Create Azure OpenAI-Ressourcen und Bereitstellen von Modellen.
Erstellen Azure OpenAI- und AKS-Ressourcen
Sie beginnen dieses Lernprogramm, indem Sie mehrere Azure Ressourcen erstellen.
Erstellen Sie eine Ressourcengruppe für dieses Tutorial.
az group create \ --name MyResourceGroup \ --location eastusErstellen Sie ein AKS-Cluster mit dem folgenden Befehl, oder verweisen Sie auf AKS-Schnellstart. In diesem Tutorial erstellen wir die Dienstverbindungs- und Poddefinition und stellen die Beispielanwendung für dieses Cluster bereit.
az aks create \ --resource-group MyResourceGroup \ --name MyAKSCluster \ --enable-managed-identity \ --node-count 1 \ --generate-ssh-keysVerwenden Sie den Befehl
az aks get-credentials, um eine Verbindung mit dem Cluster herzustellen.az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSClusterErstellen Sie eine Azure OpenAI-Ressource mithilfe des Befehls
az cognitiveservices account create. Optional finden Sie in diesem Tutorial weitere Anweisungen. Azure OpenAI ist der Zieldienst, mit dem der AKS-Cluster eine Verbindung herstellt.az cognitiveservices account create \ --resource-group MyResourceGroup \ --name MyOpenAI \ --location eastus \ --kind OpenAI \ --sku s0 \ --custom-domain myopenai \ --subscription <SubscriptionID>Stellen Sie ein Modell mit dem
az cognitiveservices deployment createBefehl bereit. Das Modell wird in der Beispielanwendung verwendet, um die Verbindung zu testen.az cognitiveservices account deployment create \ --resource-group MyResourceGroup \ --name MyOpenAI \ --deployment-name MyModel \ --model-name gpt-4 \ --model-version 0613 \ --model-format OpenAI \ --sku-name "Standard" \ --capacity 1Um die containerisierte Beispielanwendung zu speichern, erstellen Sie eine Azure Container Registry (ACR). Verwenden Sie den
az acr createBefehl, oder verweisen Sie auf dieses Lernprogramm.az acr create \ --resource-group MyResourceGroup \ --name myregistry \ --sku StandardAktivieren Sie anonymes Pull mit dem
az acr update-Befehl, damit der AKS-Cluster die Images in der Registry verwenden kann.az acr update \ --resource-group MyResourceGroup \ --name myregistry \ --anonymous-pull-enabledErstellen Sie eine vom Benutzer zugewiesene verwaltete Identität mit dem
az identity createBefehl, oder verweisen Sie auf dieses Lernprogramm. Wenn die Verbindung erstellt wird, wird die vom Benutzer zugewiesene verwaltete Identität verwendet, um die Workloadidentität für AKS-Workloads zu aktivieren.az identity create \ --resource-group MyResourceGroup \ --name MyIdentity
Erstellen einer Dienstverbindung von AKS zu Azure OpenAI
Erstellen Sie eine Dienstverbindung zwischen einem AKS-Cluster und Azure OpenAI im Azure-Portal oder dem Azure CLI.
Anweisungen zum Erstellen einer neuen Verbindung finden Sie in der Schnellstartanleitung für die AKS-Dienstverbindung, und füllen Sie die Einstellungen aus, die sich auf die Beispiele in der folgenden Tabelle beziehen. Behalten Sie alle anderen Einstellungen mit ihren Standardwerten bei.
Registerkarte Grundlagen:
Einstellung Beispielwert BESCHREIBUNG Kubernetes-Namespace default Der Kubernetes-Namespace. Diensttyp OpenAI-Dienst Art des Zieldiensts. Verbindungsname openai_conn Verwenden Sie den von Service Connector bereitgestellten Verbindungsnamen oder wählen Sie Ihren eigenen Verbindungsnamen. Subscription Mein Abonnement Das Azure-Abonnement, das Ihre Azure OpenAI-Ressource enthält. OpenAI MyOpenAI Die Azure OpenAI-Ressource, mit der Sie eine Verbindung herstellen möchten. Clienttyp Python Die Programmiersprache oder das Framework für die Verbindungskonfiguration. Registerkarte „Authentifizierung“:
Authentifizierungseinstellung Beispielwert BESCHREIBUNG Authentifizierungstyp Workload-Identität Die Authentifizierungsmethode zum Verbinden der App mit Azure OpenAI. Die Workloadidentität wird für erhöhte Sicherheit empfohlen. Alternative Methoden umfassen connection string und Dienstprinzipal und erfordern Überlegungen zur Verwaltung von Anmeldeinformationen. Subscription Mein Abonnement Das Abonnement, das die benutzerseitig zugewiesene verwaltete Identität enthält. Benutzerseitig zugewiesene verwaltete Identität MyIdentity Die vom Benutzer zugewiesene verwaltete Identität, die die Workloadidentitätsauthentifizierung für den AKS-Cluster ermöglicht.
Nachdem die Verbindung erstellt wurde, können Sie die Details im Bereich Dienstconnector anzeigen.
Klonen Python Beispielanwendung
Klonen Sie das Beispielrepository:
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.gitWechseln Sie zum Beispielordner des Repositorys für Azure OpenAI:
cd serviceconnector-aks-samples/azure-openai-workload-identityErsetzen Sie den
<MyModel>-Platzhalter in derapp.py-Datei durch den Modellnamen, den wir bereitgestellt haben.
Erstellen und Pushen von Container-Images in das Azure Container Registry
Erstellen Und übertragen Sie die Images mithilfe des Befehls Azure CLI
az acr buildan Ihre Containerregistrierung.az acr build --registry myregistry --image sc-demo-openai-identity:latest ./Zeigen Sie mithilfe des Befehls
az acr repository listdie Images in Ihrer Containerregistrierung an:az acr repository list --name myregistry --output table
Bereitstellen und Testen von AKS für Azure OpenAI-Verbindung
Ersetzen Sie die Platzhalter in der Datei
pod.yamlim Ordnerazure-openai-workload-identity.- Ersetzen Sie
<YourContainerImage>durch den Namen des zuvor erstellten Images. Beispiel:<myregistry>.azurecr.io/<sc-demo-openai-identity>:<latest>. - Ersetzen Sie
<ServiceAccountCreatedByServiceConnector>den Namen des Dienstkontos durch den Namen des Dienstkontos. Sie befindet sich im Azure-Portal im Bereich Service Connector. - Ersetzen Sie
<SecretCreatedByServiceConnector>durch den geheimen Namen. Sie befindet sich im Azure-Portal im Bereich Service Connector.
- Ersetzen Sie
Stellen Sie den Pod mit dem Befehl
kubectl applyauf Ihrem Cluster bereit, der einen Pod namenssc-demo-openai-identityim Standardnamespace Ihres AKS-Clusters erstellt. Installieren Siekubectllokal mit demaz aks install-cli-Befehl, wenn er nicht installiert ist.kubectl apply -f pod.yamlÜberprüfen Sie, ob die Bereitstellung erfolgreich war, indem Sie den Pod mit
kubectlanzeigen.kubectl get pod/sc-demo-openai-identityÜberprüfen Sie, ob die Verbindung hergestellt wird, indem Sie die Protokolle mit
kubectlanzeigen.kubectl logs pod/sc-demo-openai-identity
Bereinigen von Ressourcen
Wenn Sie die in diesem Tutorial erstellten Ressourcen nicht mehr benötigen, bereinigen Sie sie, indem Sie die Ressourcengruppe löschen.
az group delete \
--resource-group MyResourceGroup