Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве показано, как подключить приложения Службы Azure Kubernetes (AKS) к Azure OpenAI с помощью Соединителя служб с проверкой подлинности удостоверения рабочей нагрузки. Вы создадите подключения без учетных данных, развернув пример приложения Python, которое взаимодействует с Azure OpenAI.
Вы выполните следующие задачи:
- Создание кластера AKS и ресурса Azure OpenAI с помощью модели GPT-4
- Настройка соединителя службы для установления подключения с удостоверением рабочей нагрузки
- Клонирование примера приложения
- Создание и отправка образов контейнеров в реестр контейнеров Azure
- Развертывание приложения в AKS и проверка подключения
- Очистка ресурсов
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
-
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см. в статье "Начало работы с Azure Cloud Shell".
Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других параметрах входа см. в статье "Проверка подлинности в Azure с помощью Azure CLI".
Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений и управление ими с помощью Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
- Docker и kubectl для управления образами контейнеров и ресурсами Kubernetes.
- Базовое представление о контейнерах и AKS. Начало работы с подготовкой приложения для AKS.
- Разрешения доступа для создания ресурсов Azure OpenAI и развертывания моделей.
Создание ресурсов Azure OpenAI и AKS
Вы запустите это руководство, создав несколько ресурсов 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 . Дополнительные инструкции см. в этом руководстве . Azure OpenAI — это целевая служба, к к которому будет подключаться кластер AKS.
az cognitiveservices account create \ --resource-group MyResourceGroup \ --name MyOpenAI \ --location eastus \ --kind OpenAI \ --sku s0 \ --custom-domain myopenai \ --subscription <SubscriptionID>Разверните модель с помощью команды az cognitiveservices deployment create . Модель используется в примере приложения для проверки подключения.
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Создайте реестр контейнеров Azure (ACR) для хранения контейнерного примера приложения. Используйте команду az acr create или ознакомьтесь с этим руководством.
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 к Azure OpenAI
Создайте подключение к службе между кластером AKS и Azure OpenAI на портале Azure или Azure CLI.
Краткое руководство по созданию нового подключения к службе AKS и заполнение параметров, ссылающихся на примеры в следующей таблице. Оставьте все остальные параметры значениями по умолчанию.
Вкладка Основные сведения:
Параметр Пример значения Description Пространство имен Kubernetes default Пространство имен Kubernetes. тип услуги; Служба OpenAI Тип целевой службы. Имя подключения openai_conn Используйте имя подключения, предоставленное соединителем службы, или выберите собственное имя подключения. Подписка Моя подписка Подписка Azure, содержащая ресурс Azure OpenAI. OpenAI MyOpenAI Целевой ресурс Azure OpenAI, к которому требуется подключиться. Тип клиента Python Язык программирования или платформа для конфигурации подключения. Вкладка проверки подлинности:
| Параметр проверки подлинности | Пример значения | Description |
|---|---|---|
| Тип проверки подлинности | Удостоверение рабочей нагрузки | Метод проверки подлинности для подключения приложения к Azure OpenAI. Для повышения безопасности рекомендуется использовать удостоверение рабочей нагрузки. К альтернативным методам относятся строка подключения и субъект-служба, а также требуются рекомендации по управлению учетными данными. |
| Подписка | Моя подписка | Подписка, содержащая управляемое удостоверение, назначаемое пользователем. |
| Управляемая единица, назначаемая пользователем | myidentity | Назначаемое пользователем управляемое удостоверение, которое обеспечивает проверку подлинности удостоверений рабочей нагрузки для кластера AKS. |
После создания подключения вы можете просмотреть его сведения на панели соединителя служб .
Клонирование примера приложения Python
Клонируйте репозиторий примера.
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.gitПерейдите в пример папки репозитория для Azure OpenAI:
cd serviceconnector-aks-samples/azure-openai-workload-identityЗамените
<MyModel>заполнитель вapp.pyфайле именем модели, развернутой нами.
Создание и отправка образов контейнеров в реестр контейнеров Azure
Создайте и отправьте образы в реестр контейнеров с помощью команды azure CLI az acr build .
az acr build --registry myregistry --image sc-demo-openai-identity:latest ./Просмотр образов в реестре контейнеров с помощью команды az acr repository list .
az acr repository list --name myregistry --output table
Развертывание и проверка подключения AKS к Azure OpenAI
Замените заполнители в
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