Delen via


Zelfstudie: AKS verbinden met Azure OpenAI

In deze zelfstudie leert u hoe u uw AKS-toepassingen (Azure Kubernetes Service) verbindt met Azure OpenAI met behulp van Service Connector met verificatie van de workloadidentiteit. U brengt verbindingen zonder referenties tot stand door een Python-voorbeeldtoepassing te implementeren die communiceert met de Azure OpenAI.

U voert de volgende taken uit:

  • Een AKS-cluster en Azure OpenAI-resource maken met GPT-4-model
  • Serviceconnector configureren om de verbinding met workloadidentiteit tot stand te brengen
  • Een voorbeeldtoepassing klonen
  • Containerinstallatiekopieën bouwen en pushen naar Azure Container Registry
  • De toepassing implementeren in AKS en de verbinding controleren
  • Resources opschonen

Vereisten

Azure OpenAI- en AKS-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-resource met behulp van de opdracht az cognitiveservices account create . Raadpleeg deze zelfstudie desgewenst voor meer instructies. Azure OpenAI is de doelservice waarmee het AKS-cluster verbinding maakt.

    az cognitiveservices account create \
        --resource-group MyResourceGroup \
        --name MyOpenAI \
        --location eastus \
        --kind OpenAI \
        --sku s0 \
        --custom-domain myopenai \
        --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 MyOpenAI \
        --deployment-name MyModel \
        --model-name gpt-4 \
        --model-version 0613 \
        --model-format OpenAI \
        --sku-name "Standard" \
        --capacity 1
    
  6. Maak een ACR (Azure Container Registry) om de containertoepassing op te slaan. Gebruik de opdracht az acr create of raadpleeg deze zelfstudie.

    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 van AKS naar Azure OpenAI

Maak een serviceverbinding tussen een AKS-cluster en Azure OpenAI 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 Mijn abonnement Het Azure-abonnement met uw Azure OpenAI-resource.
    OpenAI MyOpenAI De Azure OpenAI-doelresource waarmee u verbinding wilt maken.
    Clienttype Python De programmeertaal of het framework voor de verbindingsconfiguratie.
  2. Tabblad Verificatie:

Verificatie-instelling Voorbeeldwaarde Beschrijving
Verificatietype Workloadidentiteit De verificatiemethode om de app te verbinden met Azure OpenAI. Workloadidentiteit wordt aanbevolen voor verbeterde beveiliging. Alternatieve methoden zijn verbindingsreeks en service-principal en vereisen overwegingen voor referentiebeheer.
Abonnement Mijn abonnement Het abonnement dat de door de gebruiker toegewezen beheerde identiteit bevat.
Door de gebruiker toegewezen beheerde identiteit myidentiteit De door de gebruiker toegewezen beheerde identiteit die verificatie van workloadidentiteit voor het AKS-cluster mogelijk maakt.

Zodra de verbinding is gemaakt, kunt u de details ervan bekijken in het deelvenster Serviceconnector .

Python-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 naar Azure Container Registry

  1. Bouw en push de installatiekopieën naar uw containerregister 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 containerregister met behulp van de opdracht az acr repository list .

    az acr repository list --name myregistry --output table
    

AKS implementeren en testen in Azure OpenAI-verbinding

  1. Vervang de tijdelijke aanduidingen in het pod.yaml bestand in de azure-openai-workload-identity map.

    • Vervang <YourContainerImage> door de naam van de installatiekopie die u eerder hebt gemaakt. Bijvoorbeeld <myregistry>.azurecr.io/<sc-demo-openai-identity>:<latest>.
    • Vervang door <ServiceAccountCreatedByServiceConnector> de naam van het serviceaccount. Deze vindt u in Azure Portal, in het deelvenster Serviceconnector .
    • Vervang door <SecretCreatedByServiceConnector> de geheime naam. Deze vindt u 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