Dela via


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

Skapa Azure-resurser

Du startar den här självstudien genom att skapa flera Azure-resurser.

  1. Skapa en resursgrupp för den här självstudien.

    az group create \
        --name MyResourceGroup \
        --location eastus
    
  2. 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
    
  3. Anslut till klustret med kommandot az aks get-credentials .

    az aks get-credentials \
        --resource-group MyResourceGroup \
        --name MyAKSCluster
    
  4. 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>
    
  5. 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
    
  6. 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
    
  7. 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
    
  8. 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.

  1. 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.
  2. 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

  1. Klona exempellagringsplatsen:

    git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
    
  2. Gå till lagringsplatsens exempelmapp för Azure OpenAI:

    cd serviceconnector-aks-samples/azure-openai-workload-identity
    
  3. <MyModel> Ersätt platshållaren i app.py filen med modellnamnet som vi distribuerade.

Skapa och push-överföra containeravbildningar

  1. 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 ./
    
  2. Visa avbildningarna i ACR-instansen med kommandot az acr repository list .

    az acr repository list --name <MyRegistry> --output table
    

Kör program- och testanslutning

  1. Ersätt platshållarna i pod.yaml filen i azure-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.
  2. Distribuera podden till klustret med kubectl apply kommandot , som skapar en podd med namnet sc-demo-openai-identity i standardnamnområdet för ditt AKS-kluster. Installera kubectl lokalt med kommandot az aks install-cli om det inte är installerat.

    kubectl apply -f pod.yaml
    
  3. Kontrollera om distributionen lyckades genom att visa podden med kubectl.

    kubectl get pod/sc-demo-openai-identity
    
  4. 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.