Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym samouczku przedstawiono sposób łączenia aplikacji usługi Azure Kubernetes Service (AKS) z usługą Azure OpenAI przy użyciu łącznika usługi Service Connector z uwierzytelnianiem tożsamości obciążenia. Nawiąższ połączenia bez poświadczeń, wdrażając przykładową aplikację w języku Python, która komunikuje się z usługą Azure OpenAI.
Wykonasz następujące zadania:
- Tworzenie klastra AKS i zasobu usługi Azure OpenAI za pomocą modelu GPT-4
- Konfigurowanie łącznika usługi w celu nawiązania połączenia z tożsamością obciążenia
- Klonowanie przykładowej aplikacji
- Kompilowanie i wypychanie obrazów kontenerów do usługi Azure Container Registry
- Wdrażanie aplikacji w usłudze AKS i weryfikowanie połączenia
- Czyszczenie zasobów
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
-
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Get started with Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Uwierzytelnianie na platformie Azure przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Używanie rozszerzeń i zarządzanie nimi za pomocą interfejsu wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
- Docker i kubectl do zarządzania obrazami kontenerów i zasobami Kubernetes.
- Podstawowa wiedza na temat kontenerów i usługi AKS. Rozpocznij od przygotowania aplikacji dla usługi AKS.
- Uprawnienia dostępu do tworzenia zasobów usługi Azure OpenAI i wdrażania modeli.
Tworzenie zasobów usług Azure OpenAI i AKS
Rozpoczynasz pracę z tym samouczkiem, tworząc kilka zasobów platformy Azure.
Utwórz grupę zasobów na potrzeby tego samouczka.
az group create \ --name MyResourceGroup \ --location eastusUtwó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-keysPołącz się z klastrem przy użyciu polecenia az aks get-credentials .
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSClusterUtwó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 to usługa docelowa, z którą będzie się łączyć klaster usługi AKS.
az cognitiveservices account create \ --resource-group MyResourceGroup \ --name MyOpenAI \ --location eastus \ --kind OpenAI \ --sku s0 \ --custom-domain myopenai \ --subscription <SubscriptionID>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 MyOpenAI \ --deployment-name MyModel \ --model-name gpt-4 \ --model-version 0613 \ --model-format OpenAI \ --sku-name "Standard" \ --capacity 1Utwórz usługę Azure Container Registry (ACR), aby przechowywać konteneryzowaną przykładową aplikację. Użyj polecenia az acr create lub zapoznaj się z tym samouczkiem.
az acr create \ --resource-group MyResourceGroup \ --name myregistry \ --sku StandardWłą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-enabledUtwó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 z usługi AKS do usługi Azure OpenAI
Utwórz połączenie usługi między klastrem AKS i usługą Azure OpenAI 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ń.
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 Moja subskrypcja Subskrypcja platformy Azure zawierająca zasób usługi Azure OpenAI. OpenAI MyOpenAI Docelowy zasób usługi Azure OpenAI, z którym chcesz nawiązać połączenie. Typ klienta Python Język programowania lub struktura konfiguracji połączenia. Karta Uwierzytelnianie:
| Ustawienie uwierzytelniania | Przykładowa wartość | opis |
|---|---|---|
| Authentication type (Typ uwierzytelniania) | Tożsamość obciążenia | Metoda uwierzytelniania łącząca aplikację z usługą Azure OpenAI. Tożsamość obciążenia jest zalecana w przypadku zwiększonych zabezpieczeń. Alternatywne metody obejmują parametry połączenia i jednostkę usługi oraz wymagają zagadnień związanych z zarządzaniem poświadczeniami. |
| Subskrypcja | Moja subskrypcja | 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, która umożliwia uwierzytelnianie tożsamości obciążenia dla klastra usługi AKS. |
Po utworzeniu połączenia można wyświetlić jego szczegóły w okienku Łącznik usługi .
Klonowanie przykładowej aplikacji języka Python
Sklonuj przykładowe repozytorium:
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.gitPrzejdź do folderu przykładowego repozytorium dla usługi Azure OpenAI:
cd serviceconnector-aks-samples/azure-openai-workload-identityZastąp
<MyModel>symbol zastępczy wapp.pypliku nazwą wdrożonego modelu.
Kompilowanie i wypychanie obrazów kontenerów do usługi Azure Container Registry
Skompiluj i wypchnij obrazy do rejestru kontenerów przy użyciu polecenia az acr build interfejsu wiersza polecenia platformy Azure.
az acr build --registry myregistry --image sc-demo-openai-identity:latest ./Wyświetl obrazy w rejestrze kontenerów za pomocą polecenia az acr repository list .
az acr repository list --name myregistry --output table
Wdrażanie i testowanie połączenia usługi AKS z usługą Azure OpenAI
Zastąp
pod.yamlsymbole zastępcze w pliku w folderzeazure-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>ciąg nazwą konta usługi. Można go znaleźć w witrynie Azure Portal w okienku Łącznik usługi . - Zastąp ciąg
<SecretCreatedByServiceConnector>nazwą wpisu tajnego. Można go znaleźć w witrynie Azure Portal w okienku Łącznik usługi .
- Zastąp
Wdróż zasobnik w klastrze za
kubectl applypomocą polecenia , który tworzy zasobnik o nazwiesc-demo-openai-identityw domyślnej przestrzeni nazw klastra usługi AKS. Zainstalujkubectllokalnie przy użyciu polecenia az aks install-cli , jeśli nie jest zainstalowany.kubectl apply -f pod.yamlSprawdź, czy wdrożenie zakończyło się pomyślnie, wyświetlając zasobnik za pomocą polecenia
kubectl.kubectl get pod/sc-demo-openai-identitySprawdź, 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