Udostępnij za pośrednictwem


Samouczek: nawiązywanie połączenia z usługą Azure OpenAI Service w usłudze AKS przy użyciu tożsamości obciążenia (wersja zapoznawcza)

Z tego samouczka dowiesz się, jak utworzyć zasobnik w klastrze usługi Azure Kubernetes (AKS), który komunikuje się z usługą Azure OpenAI Service przy użyciu tożsamości obciążenia i łącznika usługi. W tym samouczku wykonasz następujące zadania:

  • Utwórz klaster AKS i usługę Azure OpenAI Service z gpt-4 wdrożeniem modelu.
  • Utwórz połączenie między klastrem AKS i usługą Azure OpenAI za pomocą łącznika usługi Service Connector.
  • Sklonuj przykładową aplikację, która będzie komunikować się z usługą Azure OpenAI z klastra usługi AKS.
  • Wdróż aplikację w zasobniku w klastrze usługi AKS i przetestuj połączenie.
  • Wyczyść zasoby.

Wymagania wstępne

Tworzenie zasobów platformy Azure

Rozpoczynasz pracę z tym samouczkiem, tworząc kilka zasobów platformy Azure.

  1. Utwórz grupę zasobów na potrzeby tego samouczka.

    az group create \
        --name MyResourceGroup \
        --location eastus
    
  2. Utwórz klaster usługi AKS za pomocą następującego polecenia lub korzystając z przewodnika Szybki start usługi AKS. W tym samouczku utworzymy definicję połączenia usługi i zasobnika oraz wdrożymy przykładową aplikację w tym klastrze.

    az aks create \
        --resource-group MyResourceGroup \
        --name MyAKSCluster \
        --enable-managed-identity \
        --node-count 1
        --generate-ssh-keys
    
  3. Połącz się z klastrem przy użyciu polecenia az aks get-credentials .

    az aks get-credentials \
        --resource-group MyResourceGroup \
        --name MyAKSCluster
    
  4. Utwórz zasób usługi Azure OpenAI przy użyciu polecenia az cognitiveservices account create . Opcjonalnie zapoznaj się z tym samouczkiem , aby uzyskać więcej instrukcji. Azure OpenAI Service to usługa docelowa, którą połączymy z klastrem usługi AKS.

    az cognitiveservices account create \
        --resource-group MyResourceGroup \
        --name MyOpenAIService \
        --location eastus \
        --kind OpenAI \
        --sku s0 \
        --custom-domain myopenaiservice \
        --subscription <SubscriptionID>
    
  5. Wdróż model za pomocą polecenia az cognitiveservices deployment create . Model jest używany w przykładowej aplikacji do testowania połączenia.

    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. Utwórz zasób usługi Azure Container Registry (ACR) za pomocą polecenia az acr create lub zapoznaj się z tym samouczkiem. Rejestr hostuje obraz kontenera przykładowej aplikacji, z której korzysta definicja zasobnika usługi AKS.

    az acr create \
        --resource-group MyResourceGroup \
        --name myregistry \
        --sku Standard
    
  7. Włącz anonimowe ściąganie za pomocą polecenia az acr update , aby klaster AKS mógł korzystać z obrazów w rejestrze.

    az acr update \
        --resource-group MyResourceGroup \
        --name MyRegistry \
        --anonymous-pull-enabled
    
  8. Utwórz tożsamość zarządzaną przypisaną przez użytkownika za pomocą polecenia az identity create lub zapoznaj się z tym samouczkiem. Po utworzeniu połączenia tożsamość zarządzana przypisana przez użytkownika jest używana do włączania tożsamości obciążenia dla obciążeń usługi AKS.

    az identity create \
        --resource-group MyResourceGroup \
        --name MyIdentity
    

Tworzenie połączenia usługi w usłudze AKS za pomocą łącznika usługi (wersja zapoznawcza)

Utwórz połączenie usługi między klastrem AKS i usługą Azure OpenAI Service w witrynie Azure Portal lub interfejsie wiersza polecenia platformy Azure.

Zapoznaj się z przewodnikiem Szybki start dotyczący połączenia z usługą AKS, aby uzyskać instrukcje dotyczące tworzenia nowego połączenia i wypełniania ustawień odwołujących się do przykładów w poniższej tabeli. Pozostaw wartości domyślne wszystkich innych ustawień.

  1. Karta Podstawy:

    Ustawienie Przykładowa wartość opis
    Przestrzeń nazw platformy Kubernetes default Przestrzeń nazw kubernetes.
    Typ usługi Usługa OpenAI Docelowy typ usługi.
    Nazwa połączenia openai_conn Użyj nazwy połączenia dostarczonej przez łącznik usługi lub wybierz własną nazwę połączenia.
    Subskrypcja <MySubscription> Subskrypcja używana dla usługi Azure OpenAI Service.
    OpenAI <MyOpenAIService> Docelowa usługa Azure OpenAI, z którą chcesz nawiązać połączenie.
    Typ klienta Python Język kodu lub struktura używana do nawiązywania połączenia z usługą docelową.
  2. Karta Uwierzytelnianie:

    Ustawienie uwierzytelniania Przykładowa wartość opis
    Authentication type (Typ uwierzytelniania) Tożsamość obciążenia Typ uwierzytelniania łącznika usługi.
    Subskrypcja <MySubscription> Subskrypcja zawierająca tożsamość zarządzaną przypisaną przez użytkownika.
    Tożsamość zarządzana przypisana przez użytkownika <MyIdentity> Tożsamość zarządzana przypisana przez użytkownika jest wymagana do włączenia tożsamości obciążenia.

Po utworzeniu połączenia można wyświetlić jego szczegóły w okienku Łącznik usługi.

Klonowanie przykładowej aplikacji

  1. Sklonuj przykładowe repozytorium:

    git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
    
  2. Przejdź do folderu przykładowego repozytorium dla usługi Azure OpenAI:

    cd serviceconnector-aks-samples/azure-openai-workload-identity
    
  3. Zastąp <MyModel> symbol zastępczy w app.py pliku nazwą wdrożonego modelu.

Kompilowanie i wypychanie obrazów kontenerów

  1. Skompiluj i wypchnij obrazy do usługi ACR przy użyciu polecenia az acr build interfejsu wiersza polecenia platformy Azure.

    az acr build --registry <MyRegistry> --image sc-demo-openai-identity:latest ./
    
  2. Wyświetl obrazy w wystąpieniu usługi ACR przy użyciu polecenia az acr repository list .

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

Uruchamianie aplikacji i testowanie połączenia

  1. Zastąp pod.yaml symbole zastępcze w pliku w folderze azure-openai-workload-identity .

    • Zastąp <YourContainerImage> ciąg nazwą utworzonego wcześniej obrazu. Na przykład <MyRegistry>.azurecr.io/sc-demo-openai-identity:latest.
    • Zastąp <ServiceAccountCreatedByServiceConnector> element kontem usługi utworzonym przez łącznik usługi po utworzeniu połączenia. Nazwę konta usługi możesz sprawdzić w witrynie Azure Portal w okienku Łącznik usługi.
    • Zastąp ciąg <SecretCreatedByServiceConnector> wpisem tajnym utworzonym przez łącznik usługi po utworzeniu połączenia. Możesz sprawdzić nazwę wpisu tajnego w witrynie Azure Portal w okienku Łącznik usługi.
  2. Wdróż zasobnik w klastrze za kubectl apply pomocą polecenia , który tworzy zasobnik o nazwie sc-demo-openai-identity w domyślnej przestrzeni nazw klastra usługi AKS. Zainstaluj kubectl lokalnie przy użyciu polecenia az aks install-cli , jeśli nie jest zainstalowany.

    kubectl apply -f pod.yaml
    
  3. Sprawdź, czy wdrożenie zakończyło się pomyślnie, wyświetlając zasobnik za pomocą polecenia kubectl.

    kubectl get pod/sc-demo-openai-identity
    
  4. Sprawdź, czy połączenie zostało nawiązane, wyświetlając dzienniki za pomocą polecenia kubectl.

    kubectl logs pod/sc-demo-openai-identity
    

Czyszczenie zasobów

Jeśli nie potrzebujesz już zasobów utworzonych w tym samouczku, wyczyść je, usuwając grupę zasobów.

az group delete \
    --resource-group MyResourceGroup

Następne kroki

Przeczytaj następujące artykuły, aby dowiedzieć się więcej na temat pojęć dotyczących łącznika usług i sposobu, w jaki pomaga on usłudze AKS łączyć się z usługami.