Delen via


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

Azure-resources maken

U start deze zelfstudie door verschillende Azure-resources te maken.

  1. Maak een resourcegroep voor deze zelfstudie.

    az group create \
        --name MyResourceGroup \
        --location eastus
    
  2. 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
    
  3. Maak verbinding met het cluster met behulp van de opdracht az aks get-credentials .

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

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

  1. Kloon de voorbeeldopslagplaats:

    git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
    
  2. Ga naar de voorbeeldmap van de opslagplaats voor Azure OpenAI:

    cd serviceconnector-aks-samples/azure-openai-workload-identity
    
  3. Vervang de <MyModel> tijdelijke aanduiding in het app.py bestand door de modelnaam die we hebben geïmplementeerd.

Containerinstallatiekopieën bouwen en pushen

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

  1. Vervang de tijdelijke aanduidingen in het pod.yaml bestand in de azure-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 .
  2. Implementeer de pod in uw cluster met de kubectl apply opdracht. Hiermee maakt u een pod met de naam in sc-demo-openai-identity de standaardnaamruimte van uw AKS-cluster. Installeer kubectl lokaal met behulp van de opdracht az aks install-cli als deze niet is geïnstalleerd.

    kubectl apply -f pod.yaml
    
  3. Controleer of de implementatie is geslaagd door de pod te bekijken met kubectl.

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