Zelfstudie: Verbinding maken met De Azure OpenAI-service in AKS met behulp van workloadidentiteit (preview)
In deze zelfstudie leert u hoe u een pod maakt in een AKS-cluster (Azure Kubernetes), dat met Azure OpenAI Service praat met behulp van workloadidentiteit en serviceconnector. In deze zelfstudie voert u de volgende taken uit:
- Maak een AKS-cluster en Azure OpenAI-service met
gpt-4
modelimplementatie. - Maak een verbinding tussen het AKS-cluster en Azure OpenAI met serviceconnector.
- Kloon een voorbeeldtoepassing die met de Azure OpenAI-service praat vanuit een AKS-cluster.
- Implementeer de toepassing op een pod in een AKS-cluster en test de verbinding.
- Schoon resources op.
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
-
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie quickstart voor Bash in Azure Cloud Shell voor meer informatie.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
- Installeer Docker en kubectl om containerinstallatiekopieën en Kubernetes-resources te beheren.
- Basiskennis van container en AKS. Ga aan de slag met het voorbereiden van een toepassing voor AKS.
- Basiskennis van workloadidentiteit.
- Toegangsmachtigingen voor het maken van Azure OpenAI-resources en voor het implementeren van modellen.
Azure-resources maken
U start deze zelfstudie door verschillende Azure-resources te maken.
Maak een resourcegroep voor deze zelfstudie.
az group create \ --name MyResourceGroup \ --location eastus
Maak een AKS-cluster met de volgende opdracht of door te verwijzen naar de AKS-quickstart. In deze zelfstudie maken we de serviceverbinding en poddefinitie en implementeren we de voorbeeldtoepassing in dit cluster.
az aks create \ --resource-group MyResourceGroup \ --name MyAKSCluster \ --enable-managed-identity \ --node-count 1 --generate-ssh-keys
Maak verbinding met het cluster met behulp van de opdracht az aks get-credentials .
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSCluster
Maak een Azure OpenAI Service-resource met behulp van de opdracht az cognitiveservices account create . Raadpleeg deze zelfstudie desgewenst voor meer instructies. Azure OpenAI Service is de doelservice die we verbinden met het AKS-cluster.
az cognitiveservices account create \ --resource-group MyResourceGroup \ --name MyOpenAIService \ --location eastus \ --kind OpenAI \ --sku s0 \ --custom-domain myopenaiservice \ --subscription <SubscriptionID>
Implementeer een model met de opdracht az cognitiveservices deployment create . Het model wordt gebruikt in de voorbeeldtoepassing om de verbinding te testen.
az cognitiveservices account deployment create \ --resource-group MyResourceGroup \ --name MyOpenAIService --deployment-name MyModel \ --model-name gpt-4 \ --model-version 0613 \ --model-format OpenAI \ --sku-name "Standard" --capacity 1
Maak een ACR-resource (Azure Container Registry) met de opdracht az acr create of verwijs naar deze zelfstudie. Het register fungeert als host voor de containerinstallatiekopieën van de voorbeeldtoepassing, die door de AKS-poddefinitie wordt gebruikt.
az acr create \ --resource-group MyResourceGroup \ --name myregistry \ --sku Standard
Schakel anonieme pull in met behulp van az acr update-opdracht , zodat het AKS-cluster de installatiekopieën in het register kan gebruiken.
az acr update \ --resource-group MyResourceGroup \ --name MyRegistry \ --anonymous-pull-enabled
Maak een door de gebruiker toegewezen beheerde identiteit met de opdracht az identity create of door te verwijzen naar deze zelfstudie. Wanneer de verbinding wordt gemaakt, wordt de door de gebruiker toegewezen beheerde identiteit gebruikt om de workloadidentiteit voor AKS-workloads in te schakelen.
az identity create \ --resource-group MyResourceGroup \ --name MyIdentity
Een serviceverbinding maken in AKS met Service Connector (preview)
Maak een serviceverbinding tussen een AKS-cluster en De Azure OpenAI-service in Azure Portal of de Azure CLI.
Raadpleeg de quickstart voor de AKS-serviceverbinding voor instructies voor het maken van een nieuwe verbinding en vul de instellingen in die verwijzen naar de voorbeelden in de volgende tabel. Laat alle andere instellingen met de standaardwaarden staan.
Tabblad Basisbeginselen:
Instelling Voorbeeldwaarde Beschrijving Kubernetes-naamruimte default De Kubernetes-naamruimte. Servicetype OpenAI-service Het doelservicetype. Verbindingsnaam openai_conn Gebruik de verbindingsnaam die is opgegeven door Service Connector of kies uw eigen verbindingsnaam. Abonnement <MySubscription>
Het abonnement dat wordt gebruikt voor De Azure OpenAI-service. OpenAI <MyOpenAIService>
De Azure OpenAI-doelservice waarmee u verbinding wilt maken. Clienttype Python De codetaal of het framework dat u gebruikt om verbinding te maken met de doelservice. Tabblad Verificatie:
Verificatie-instelling Voorbeeldwaarde Beschrijving Verificatietype Workloadidentiteit Verificatietype serviceconnector. Abonnement <MySubscription>
Het abonnement dat de door de gebruiker toegewezen beheerde identiteit bevat. Door de gebruiker toegewezen beheerde identiteit <MyIdentity>
Er is een door de gebruiker toegewezen beheerde identiteit nodig om de workloadidentiteit in te schakelen.
Zodra de verbinding is gemaakt, kunt u de details ervan bekijken in het deelvenster Serviceconnector .
Voorbeeldtoepassing klonen
Kloon de voorbeeldopslagplaats:
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
Ga naar de voorbeeldmap van de opslagplaats voor Azure OpenAI:
cd serviceconnector-aks-samples/azure-openai-workload-identity
Vervang de
<MyModel>
tijdelijke aanduiding in hetapp.py
bestand door de modelnaam die we hebben geïmplementeerd.
Containerinstallatiekopieën bouwen en pushen
Bouw en push de installatiekopieën naar uw ACR met behulp van de Azure CLI az acr build command.
az acr build --registry <MyRegistry> --image sc-demo-openai-identity:latest ./
Bekijk de installatiekopieën in uw ACR-exemplaar met behulp van de opdracht az acr repository list .
az acr repository list --name <MyRegistry> --output table
Toepassing uitvoeren en verbinding testen
Vervang de tijdelijke aanduidingen in het
pod.yaml
bestand in deazure-openai-workload-identity
map.- Vervang door
<YourContainerImage>
de naam van de installatiekopie die we eerder hebben gemaakt. Bijvoorbeeld:<MyRegistry>.azurecr.io/sc-demo-openai-identity:latest
. - Vervang
<ServiceAccountCreatedByServiceConnector>
door het serviceaccount dat is gemaakt door Service Connector na het maken van de verbinding. U kunt de naam van het serviceaccount controleren in Azure Portal, in het deelvenster Serviceconnector . - Vervang
<SecretCreatedByServiceConnector>
het geheim dat is gemaakt door Service Connector na het maken van de verbinding. U kunt de geheime naam controleren in Azure Portal, in het deelvenster Serviceconnector .
- Vervang door
Implementeer de pod in uw cluster met de
kubectl apply
opdracht. Hiermee maakt u een pod met de naam insc-demo-openai-identity
de standaardnaamruimte van uw AKS-cluster. Installeerkubectl
lokaal met behulp van de opdracht az aks install-cli als deze niet is geïnstalleerd.kubectl apply -f pod.yaml
Controleer of de implementatie is geslaagd door de pod te bekijken met
kubectl
.kubectl get pod/sc-demo-openai-identity
Controleer of de verbinding tot stand is gebracht door de logboeken te bekijken met
kubectl
.kubectl logs pod/sc-demo-openai-identity
Resources opschonen
Als u de resources die u in deze zelfstudie hebt gemaakt niet meer nodig hebt, verwijdert u deze door de resourcegroep te verwijderen.
az group delete \
--resource-group MyResourceGroup
Volgende stappen
Lees de volgende artikelen voor meer informatie over serviceconnectorconcepten en hoe het AKS helpt om verbinding te maken met services.