Руководство. Подключение к службе Azure OpenAI в AKS с помощью удостоверения рабочей нагрузки (предварительная версия)
В этом руководстве описано, как создать pod в кластере Azure Kubernetes (AKS), который взаимодействует с Azure OpenAI Service с помощью удостоверения рабочей нагрузки и соединителя службы. В этом руководстве выполняются следующие задачи:
- Создайте кластер AKS и Службу Azure OpenAI с
gpt-4
развертыванием модели. - Создайте подключение между кластером AKS и Azure OpenAI с помощью соединителя службы.
- Клонируйте пример приложения, которое будет взаимодействовать со службой Azure OpenAI из кластера AKS.
- Разверните приложение в модуле pod в кластере AKS и проверьте подключение.
- Очистите ресурсы.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
-
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.
Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.
Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
- Установите Docker и kubectl для управления образом контейнера и ресурсами Kubernetes.
- Базовое представление о контейнере и AKS. Начало работы с подготовкой приложения для AKS.
- Базовое понимание удостоверения рабочей нагрузки.
- Разрешения доступа для создания ресурсов Azure OpenAI и развертывания моделей.
Создание ресурсов Azure
Вы запустите это руководство, создав несколько ресурсов Azure.
Создайте группу ресурсов для этого руководства.
az group create \ --name MyResourceGroup \ --location eastus
Создайте кластер AKS со следующей командой или с помощью краткого руководства по AKS. В этом руководстве мы создадим определение подключения к службе и pod и развернем пример приложения в этом кластере.
az aks create \ --resource-group MyResourceGroup \ --name MyAKSCluster \ --enable-managed-identity \ --node-count 1 --generate-ssh-keys
Подключитесь к кластеру с помощью команды az aks get-credentials .
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSCluster
Создайте ресурс Службы Azure OpenAI с помощью команды az cognitiveservices account create . Дополнительные инструкции см. в этом руководстве . Служба Azure OpenAI — это целевая служба, которую мы подключим к кластеру AKS.
az cognitiveservices account create \ --resource-group MyResourceGroup \ --name MyOpenAIService \ --location eastus \ --kind OpenAI \ --sku s0 \ --custom-domain myopenaiservice \ --subscription <SubscriptionID>
Разверните модель с помощью команды az cognitiveservices deployment create . Модель используется в примере приложения для проверки подключения.
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
Создайте ресурс Реестр контейнеров Azure (ACR) с помощью команды az acr create или ссылки на это руководство. В реестре размещен образ контейнера примера приложения, которое использует определение pod AKS.
az acr create \ --resource-group MyResourceGroup \ --name myregistry \ --sku Standard
Включите анонимный запрос с помощью команды az acr update , чтобы кластер AKS мог использовать образы в реестре.
az acr update \ --resource-group MyResourceGroup \ --name MyRegistry \ --anonymous-pull-enabled
Создайте управляемое удостоверение, назначаемое пользователем, с помощью команды az identity create или со ссылкой на это руководство. При создании подключения управляемое удостоверение, назначаемое пользователем, используется для включения удостоверения рабочей нагрузки для рабочих нагрузок AKS.
az identity create \ --resource-group MyResourceGroup \ --name MyIdentity
Создание подключения службы в AKS с помощью соединителя службы (предварительная версия)
Создайте подключение службы между кластером AKS и службой Azure OpenAI в портал Azure или Azure CLI.
Краткое руководство по созданию нового подключения к службе AKS и заполнение параметров, ссылающихся на примеры в следующей таблице. Оставьте все остальные параметры значениями по умолчанию.
Вкладка Основные сведения:
Параметр Пример значения Description Пространство имен Kubernetes default Пространство имен Kubernetes. тип услуги; Служба OpenAI Тип целевой службы. Имя подключения openai_conn Используйте имя подключения, предоставленное соединителем службы, или выберите собственное имя подключения. Подписка <MySubscription>
Подписка, используемая для службы Azure OpenAI. OpenAI <MyOpenAIService>
Целевая служба Azure OpenAI, к которой требуется подключиться. Тип клиента Python Язык кода или платформа, используемая для подключения к целевой службе. Вкладка проверки подлинности:
Параметр проверки подлинности Пример значения Description Тип проверки подлинности Удостоверение рабочей нагрузки Тип проверки подлинности соединителя службы. Подписка <MySubscription>
Подписка, содержащая назначаемое пользователем управляемое удостоверение. Управляемая единица, назначаемая пользователем <MyIdentity>
Управляемое удостоверение, назначаемое пользователем, необходимо для включения удостоверения рабочей нагрузки.
После создания подключения вы можете просмотреть сведения о нем на панели соединителя службы.
Клонирование примера приложения
Клонируйте репозиторий примера.
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.git
Перейдите в пример папки репозитория для Azure OpenAI:
cd serviceconnector-aks-samples/azure-openai-workload-identity
Замените
<MyModel>
заполнитель вapp.py
файле именем модели, развернутой нами.
Создание и отправка образов контейнеров
Создайте и отправьте образы в ACR с помощью команды azure CLI az acr build .
az acr build --registry <MyRegistry> --image sc-demo-openai-identity:latest ./
Просмотр изображений в экземпляре ACR с помощью команды az acr репозитория list .
az acr repository list --name <MyRegistry> --output table
Запуск приложения и проверка подключения
Замените заполнители в
pod.yaml
файле в папкеazure-openai-workload-identity
.- Замените
<YourContainerImage>
именем образа, созданного ранее. Например,<MyRegistry>.azurecr.io/sc-demo-openai-identity:latest
. - Замените
<ServiceAccountCreatedByServiceConnector>
учетную запись службы, созданную соединителем службы после создания подключения. Вы можете проверить имя учетной записи службы в портал Azure на панели соединителя службы. - Замените
<SecretCreatedByServiceConnector>
секретом, созданным соединителем службы после создания подключения. Вы можете проверить имя секрета в портал Azure на панели соединителя служб.
- Замените
Разверните pod в кластере с
kubectl apply
помощью команды, которая создает pod с именемsc-demo-openai-identity
в пространстве имен по умолчанию кластера AKS. Установитеkubectl
локально с помощью команды az aks install-cli , если она не установлена.kubectl apply -f pod.yaml
Проверьте, успешно ли развертывание выполнено, просматривая модуль pod с
kubectl
помощью .kubectl get pod/sc-demo-openai-identity
Убедитесь, что подключение установлено, просматривая журналы с
kubectl
помощью .kubectl logs pod/sc-demo-openai-identity
Очистка ресурсов
Если ресурсы, созданные в этом руководстве, больше не нужны, удалите их, удалив группу ресурсов.
az group delete \
--resource-group MyResourceGroup
Следующие шаги
Ознакомьтесь со следующими статьями, чтобы узнать больше о концепциях соединителя служб и о том, как это помогает AKS подключаться к службам.