Självstudie: Ansluta till Azure OpenAI-tjänsten i AKS med hjälp av arbetsbelastningsidentitet (förhandsversion)
I den här självstudien får du lära dig hur du skapar en podd i ett Aks-kluster (Azure Kubernetes), som pratar med Azure OpenAI Service med hjälp av arbetsbelastningsidentitet och tjänstanslutningsprogram. I den här självstudien slutför du följande uppgifter:
- Skapa ett AKS-kluster och Azure OpenAI Service med
gpt-4
modelldistribution. - Skapa en anslutning mellan AKS-klustret och Azure OpenAI med Service Connector.
- Klona ett exempelprogram som ska kommunicera med Azure OpenAI-tjänsten från ett AKS-kluster.
- Distribuera programmet till en podd i AKS-klustret och testa anslutningen.
- Rensa resurser.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
-
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Snabbstart för Bash i Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
- Installera Docker och kubectl för att hantera containeravbildningar och Kubernetes-resurser.
- En grundläggande förståelse för container och AKS. Kom igång från att förbereda ett program för AKS.
- En grundläggande förståelse för arbetsbelastningsidentitet.
- Åtkomstbehörigheter för att skapa Azure OpenAI-resurser och distribuera modeller.
Skapa Azure-resurser
Du startar den här självstudien genom att skapa flera Azure-resurser.
Skapa en resursgrupp för den här självstudien.
az group create \ --name MyResourceGroup \ --location eastus
Skapa ett AKS-kluster med följande kommando eller genom att referera till AKS-snabbstarten. I den här självstudien skapar vi tjänstanslutningen och podddefinitionen och distribuerar exempelprogrammet till det här klustret.
az aks create \ --resource-group MyResourceGroup \ --name MyAKSCluster \ --enable-managed-identity \ --node-count 1 --generate-ssh-keys
Anslut till klustret med kommandot az aks get-credentials .
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSCluster
Skapa en Azure OpenAI Service-resurs med kommandot az cognitiveservices account create . Du kan också läsa mer i den här självstudien . Azure OpenAI Service är den måltjänst som vi ska ansluta till AKS-klustret.
az cognitiveservices account create \ --resource-group MyResourceGroup \ --name MyOpenAIService \ --location eastus \ --kind OpenAI \ --sku s0 \ --custom-domain myopenaiservice \ --subscription <SubscriptionID>
Distribuera en modell med kommandot az cognitiveservices deployment create . Modellen används i exempelprogrammet för att testa anslutningen.
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
Skapa en Azure Container Registry-resurs (ACR) med kommandot az acr create eller referera till den här självstudien. Registret är värd för containeravbildningen av exempelprogrammet, som AKS-podddefinitionen använder.
az acr create \ --resource-group MyResourceGroup \ --name myregistry \ --sku Standard
Aktivera anonym pull med kommandot az acr update så att AKS-klustret kan använda avbildningarna i registret.
az acr update \ --resource-group MyResourceGroup \ --name MyRegistry \ --anonymous-pull-enabled
Skapa en användartilldelad hanterad identitet med kommandot az identity create , eller genom att referera till den här självstudien. När anslutningen skapas används den användartilldelade hanterade identiteten för att aktivera arbetsbelastningsidentiteten för AKS-arbetsbelastningar.
az identity create \ --resource-group MyResourceGroup \ --name MyIdentity
Skapa en tjänstanslutning i AKS med Service Connector (förhandsversion)
Skapa en tjänstanslutning mellan ett AKS-kluster och Azure OpenAI-tjänsten i Azure Portal eller Azure CLI.
I snabbstarten för AKS-tjänstanslutning finns instruktioner för hur du skapar en ny anslutning och fyller i inställningarna som refererar till exemplen i följande tabell. Lämna alla andra inställningar med sina standardvärden.
Fliken Grundläggande:
Inställning Exempelvärde beskrivning Kubernetes-namnområde standard Kubernetes-namnområdet. Typ av tjänst OpenAI-tjänst Måltjänsttypen. Anslutningens namn openai_conn Använd anslutningsnamnet som tillhandahålls av Service Connector eller välj ditt eget anslutningsnamn. Abonnemang <MySubscription>
Prenumerationen som används för Azure OpenAI Service. OpenAI <MyOpenAIService>
Den Azure OpenAI-måltjänst som du vill ansluta till. Klienttyp Python Det kodspråk eller ramverk som du använder för att ansluta till måltjänsten. Fliken Autentisering:
Autentiseringsinställning Exempelvärde beskrivning Autentiseringstyp Arbetsbelastningsidentitet Autentiseringstyp för Service Connector. Abonnemang <MySubscription>
Den prenumeration som innehåller den användartilldelade hanterade identiteten. Användartilldelad hanterad identitet <MyIdentity>
En användartilldelad hanterad identitet krävs för att aktivera arbetsbelastningsidentitet.
När anslutningen har skapats kan du visa dess information i fönstret Tjänstanslutning .
Klona exempelprogram
Klona exempellagringsplatsen:
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
Gå till lagringsplatsens exempelmapp för Azure OpenAI:
cd serviceconnector-aks-samples/azure-openai-workload-identity
<MyModel>
Ersätt platshållaren iapp.py
filen med modellnamnet som vi distribuerade.
Skapa och push-överföra containeravbildningar
Skapa och push-överför avbildningarna till din ACR med hjälp av azure CLI az acr build-kommandot .
az acr build --registry <MyRegistry> --image sc-demo-openai-identity:latest ./
Visa avbildningarna i ACR-instansen med kommandot az acr repository list .
az acr repository list --name <MyRegistry> --output table
Kör program- och testanslutning
Ersätt platshållarna i
pod.yaml
filen iazure-openai-workload-identity
mappen.- Ersätt
<YourContainerImage>
med namnet på den avbildning som vi skapade tidigare. Exempel:<MyRegistry>.azurecr.io/sc-demo-openai-identity:latest
- Ersätt
<ServiceAccountCreatedByServiceConnector>
med tjänstkontot som skapades av Service Connector när anslutningen skapades. Du kan kontrollera namnet på tjänstkontot i Azure Portal i fönstret Tjänstanslutning. - Ersätt
<SecretCreatedByServiceConnector>
med hemligheten som skapades av Service Connector när anslutningen skapades. Du kan kontrollera det hemliga namnet i Azure Portal i fönstret Tjänstanslutning.
- Ersätt
Distribuera podden till klustret med
kubectl apply
kommandot , som skapar en podd med namnetsc-demo-openai-identity
i standardnamnområdet för ditt AKS-kluster. Installerakubectl
lokalt med kommandot az aks install-cli om det inte är installerat.kubectl apply -f pod.yaml
Kontrollera om distributionen lyckades genom att visa podden med
kubectl
.kubectl get pod/sc-demo-openai-identity
Kontrollera att anslutningen upprättas genom att visa loggarna med
kubectl
.kubectl logs pod/sc-demo-openai-identity
Rensa resurser
Om du inte längre behöver de resurser som skapats i den här självstudien rensar du dem genom att ta bort resursgruppen.
az group delete \
--resource-group MyResourceGroup
Nästa steg
Läs följande artiklar om du vill veta mer om begrepp för Service Connector och hur det hjälper AKS att ansluta till tjänster.