Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här självstudien visar hur du ansluter dina Azure Kubernetes Service-program (AKS) till Azure OpenAI med hjälp av Service Connector med arbetsbelastningsidentitetsautentisering. Du upprättar autentiseringsfria anslutningar genom att distribuera ett Python-exempelprogram som kommunicerar med Azure OpenAI.
Du kommer att slutföra följande uppgifter:
- Skapa ett AKS-kluster och En Azure OpenAI-resurs med GPT-4-modellen
- Konfigurera Service Connector för att upprätta anslutningen till arbetsbelastningsidentiteten
- Klona ett exempelprogram
- Skapa och skicka containeravbildningar till Azure Container Registry
- Distribuera programmet till AKS och verifiera 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 Kom igång med 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 Autentisera till Azure 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 och hantera 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.
- Docker och kubectl för att hantera containeravbildningar och Kubernetes-resurser.
- Grundläggande förståelse för containrar och AKS. Kom igång från att förbereda ett program för AKS.
- Åtkomstbehörigheter för att skapa Azure OpenAI-resurser och distribuera modeller.
Skapa Azure OpenAI- och AKS-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 eastusSkapa 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-keysAnslut till klustret med kommandot az aks get-credentials .
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSClusterSkapa en Azure OpenAI-resurs med kommandot az cognitiveservices account create . Du kan också läsa mer i den här självstudien . Azure OpenAI är den måltjänst som AKS-klustret ansluter till.
az cognitiveservices account create \ --resource-group MyResourceGroup \ --name MyOpenAI \ --location eastus \ --kind OpenAI \ --sku s0 \ --custom-domain myopenai \ --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 MyOpenAI \ --deployment-name MyModel \ --model-name gpt-4 \ --model-version 0613 \ --model-format OpenAI \ --sku-name "Standard" \ --capacity 1Skapa ett Azure Container Registry (ACR) för att lagra det containerbaserade exempelprogrammet. Använd kommandot az acr create eller läs den här självstudien.
az acr create \ --resource-group MyResourceGroup \ --name myregistry \ --sku StandardAktivera 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-enabledSkapa 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 från AKS till Azure OpenAI
Skapa en tjänstanslutning mellan ett AKS-kluster och Azure OpenAI i Azure-portalen 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 Min prenumeration Azure-prenumerationen som innehåller din Azure OpenAI-resurs. OpenAI MyOpenAI Den Azure OpenAI-målresurs som du vill ansluta till. Klienttyp Python Programmeringsspråket eller ramverket för anslutningskonfigurationen. Fliken Autentisering:
| Autentiseringsinställning | Exempelvärde | beskrivning |
|---|---|---|
| Autentiseringstyp | Arbetsbelastningsidentitet | Autentiseringsmetoden för att ansluta appen till Azure OpenAI. Arbetsbelastningsidentitet rekommenderas för förbättrad säkerhet. Alternativa metoder inkluderar anslutningssträng och tjänstens huvudnamn och kräver överväganden för hantering av autentiseringsuppgifter. |
| Abonnemang | Min prenumeration | Den prenumeration som innehåller den användartilldelade hanterade identiteten. |
| Användartilldelad hanterad identitet | myidentity | Den användartilldelade hanterade identiteten som möjliggör arbetsbelastningsidentitetsautentisering för AKS-klustret. |
När anslutningen har skapats kan du visa dess information i fönstret Tjänstanslutning .
Klona Python-exempelprogram
Klona exempellagringsplatsen:
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.gitGå till lagringsplatsens exempelmapp för Azure OpenAI:
cd serviceconnector-aks-samples/azure-openai-workload-identity<MyModel>Ersätt platshållaren iapp.pyfilen med modellnamnet som vi distribuerade.
Skapa och skicka containeravbildningar till Azure Container Registry
Skapa och push-överföra avbildningarna till containerregistret med hjälp av azure CLI az acr build-kommandot .
az acr build --registry myregistry --image sc-demo-openai-identity:latest ./Visa avbildningarna i containerregistret med kommandot az acr repository list .
az acr repository list --name myregistry --output table
Distribuera och testa AKS till Azure OpenAI-anslutning
Ersätt platshållarna i
pod.yamlfilen iazure-openai-workload-identitymappen.- Ersätt
<YourContainerImage>med namnet på avbildningen som du skapade tidigare. Till exempel<myregistry>.azurecr.io/<sc-demo-openai-identity>:<latest>. - Ersätt
<ServiceAccountCreatedByServiceConnector>med namnet på tjänstkontot. Den finns i Azure-portalen i fönstret Tjänstanslutning . - Ersätt
<SecretCreatedByServiceConnector>med det hemliga namnet. Den finns i Azure-portalen i fönstret Tjänstanslutning .
- Ersätt
Distribuera podden till klustret med
kubectl applykommandot , som skapar en podd med namnetsc-demo-openai-identityi standardnamnområdet för ditt AKS-kluster. Installerakubectllokalt med kommandot az aks install-cli om det inte är installerat.kubectl apply -f pod.yamlKontrollera om distributionen lyckades genom att visa podden med
kubectl.kubectl get pod/sc-demo-openai-identityKontrollera 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