Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве показано, как подключить приложения Azure Kubernetes Service (AKS) к Azure OpenAI с помощью сервисного коннектора с идентификацией рабочей нагрузки. Затем вы устанавливаете и тестируете подключения без учетных данных, развернув пример приложения Python, которое взаимодействует с Azure OpenAI.
Изучив это руководство, вы:
- Создайте кластер AKS и ресурс Azure OpenAI с моделью GPT-4.
- Настройте Service Connector для установления подключения с идентификацией рабочей нагрузки.
- Клонирование примера приложения.
- Создание и отправка образов контейнеров в Azure Container Registry.
- Разверните приложение в 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Создайте ресурс OpenAI Azure с помощью команды
az cognitiveservices account create. Дополнительные инструкции см. в этом руководстве . 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 для получения инструкций по созданию нового подключения и заполнению параметров, используя примеры в следующей таблице. Оставьте все остальные параметры значениями по умолчанию.
Вкладка Основные сведения:
Настройки Пример значения Описание Пространство имен Kubernetes по умолчанию Пространство имен Kubernetes. тип услуги; Служба OpenAI Тип целевой службы. Имя подключения openai_conn Используйте имя подключения, предоставленное соединителем службы, или выберите собственное имя подключения. Subscription Моя подписка Подписка Azure, содержащая ресурс Azure OpenAI. OpenAI MyOpenAI Целевой ресурс OpenAI Azure, с которым вы хотите установить соединение. Тип клиента Python Язык программирования или платформа для конфигурации подключения. Вкладка проверки подлинности:
Параметр проверки подлинности Пример значения Описание Тип проверки подлинности Идентификация рабочей нагрузки Метод проверки подлинности для подключения приложения к Azure OpenAI. Рекомендуется использование идентификатора рабочей нагрузки для повышения безопасности. К альтернативным методам относятся строка подключения и объект-служба, и при этом следует учитывать управление учетными данными. Subscription Моя подписка Подписка, содержащая управляемое удостоверение, назначаемое пользователем. Назначенная пользователем управляемая идентичность 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 Container Registry
Создайте и отправьте образы в реестр контейнеров с помощью команды 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 на панели Service Connector. - Замените
<SecretCreatedByServiceConnector>на имя секрета. Его можно найти на портале Azure на панели Service Connector.
- Замените
Разверните 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