Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tutorial mostra como conectar seus aplicativos do AKS (Serviço de Kubernetes do Azure) ao OpenAI do Azure usando o Conector de Serviço com autenticação de identidade de carga de trabalho. Você estabelecerá conexões sem credenciais implantando um aplicativo Python de exemplo que se comunica com o Azure OpenAI.
Você concluirá as seguintes tarefas:
- Criar um cluster do AKS e um recurso do OpenAI do Azure com o modelo GPT-4
- Configurar o Conector de Serviço para estabelecer a conexão com a identidade da carga de trabalho
- Clonar um aplicativo de exemplo
- Compilar e enviar imagens de contêiner por push para o Registro de Contêiner do Azure
- Implantar o aplicativo no AKS e verificar a conexão
- Limpar os recursos
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
-
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Introdução ao Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Para execuções no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para saber mais, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para obter outras opções de entrada, consulte Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar e gerenciar extensões com a CLI do Azure.
Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.
- Instale o Dockere kubectl para gerenciar as imagens do contêiner e os recursos do Kubernetes.
- Conhecimento básico de contêineres e AKS. Comece a partir da preparação de um aplicativo para o AKS.
- Permissões de acesso para criar recursos do OpenAI do Azure e implantar modelos.
Criar recursos do OpenAI do Azure e do AKS
Inicie este tutorial criando vários recursos do Azure.
Crie um grupo de recursos para este tutorial.
az group create \ --name MyResourceGroup \ --location eastusCrie um cluster do AKS com o comando a seguir ou consulte o Guia de início rápido do AKS. Neste tutorial, criamos a conexão de serviço e a definição do pod e implantamos o aplicativo de exemplo nesse cluster.
az aks create \ --resource-group MyResourceGroup \ --name MyAKSCluster \ --enable-managed-identity \ --node-count 1 \ --generate-ssh-keysConecte-se ao cluster usando o comando az aks get-credentials.
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSClusterCrie um recurso do OpenAI do Azure usando o comando az cognitiveservices account create. Opcionalmente, consulte este tutorial para obter mais instruções. O OpenAI do Azure é o serviço de destino ao qual o cluster do AKS se conectará.
az cognitiveservices account create \ --resource-group MyResourceGroup \ --name MyOpenAI \ --location eastus \ --kind OpenAI \ --sku s0 \ --custom-domain myopenai \ --subscription <SubscriptionID>Implante um modelo com o comando az cognitiveservices deployment create. O modelo é usado no aplicativo de exemplo para testar a conexão.
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 1Crie um ACR (Registro de Contêiner do Azure) para armazenar o aplicativo de exemplo em contêineres. Use o comando az acr create ou consulte este tutorial.
az acr create \ --resource-group MyResourceGroup \ --name myregistry \ --sku StandardHabilite o pull anônimo usando o comando az acr update para que o cluster do AKS possa consumir as imagens no registro.
az acr update \ --resource-group MyResourceGroup \ --name myregistry \ --anonymous-pull-enabledCrie uma identidade gerenciada atribuída pelo usuário com o comando az identity create ou referindo-se a este tutorial. Quando a conexão é criada, a identidade gerenciada atribuída pelo usuário é usada para habilitar a identidade da carga de trabalho para cargas de trabalho do AKS.
az identity create \ --resource-group MyResourceGroup \ --name MyIdentity
Criar uma conexão de serviço do AKS para o OpenAI do Azure
Crie uma conexão de serviço entre um cluster do AKS e o OpenAI do Azure no portal do Azure ou na CLI do Azure.
Consulte o início rápido da conexão de serviço do AKS para obter instruções para criar uma conexão e preencher as configurações referentes aos exemplos na tabela a seguir. Deixe todas as outras configurações com os valores padrão delas.
Guia Básico:
Configuração Valor de exemplo Descrição Namespace do Kubernetes default O namespace do Kubernetes. Tipo de serviço Serviço OpenAI O tipo de serviço de destino. Nome da conexão openai_conn Use o nome da conexão fornecido pelo Conector de Serviço ou escolha um nome de conexão próprio. Assinatura Minha assinatura A assinatura do Azure que contém o recurso do OpenAI do Azure. OpenAI MyOpenAI O recurso do OpenAI do Azure de destino ao qual você deseja se conectar. Tipo de cliente Python A linguagem de programação ou a estrutura para a configuração de conexão. Guia Autenticação:
| Configuração de Autenticação | Valor de exemplo | Descrição |
|---|---|---|
| Tipo de autenticação | Identidade da Carga de Trabalho | O método de autenticação para conectar o aplicativo ao OpenAI do Azure. A identidade da carga de trabalho é recomendada para segurança aprimorada. Métodos alternativos incluem cadeia de conexão e entidade de serviço e exigem considerações de gerenciamento de credenciais. |
| Assinatura | Minha assinatura | A assinatura que contém a identidade gerenciada atribuída pelo usuário. |
| Identidade gerenciada atribuída ao usuário | myidentity | A identidade gerenciada atribuída pelo usuário que habilita a autenticação de identidade de carga de trabalho para o cluster do AKS. |
Depois que a conexão for criada, você poderá ver os detalhes no painel Conector de Serviço.
Clonar aplicativo de exemplo do Python
Clone o repositório de exemplo:
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.gitVá para a pasta de exemplo do repositório para o OpenAI do Azure:
cd serviceconnector-aks-samples/azure-openai-workload-identitySubstitua o espaço reservado
<MyModel>no arquivoapp.pypelo nome do modelo que implantamos.
Compilar e enviar imagens de contêiner por push para o Registro de Contêiner do Azure
Compile e efetue push das imagens para o registro de contêiner usando o comando az acr build da CLI do Azure.
az acr build --registry myregistry --image sc-demo-openai-identity:latest ./Exiba as imagens no registro de contêiner usando o comando az acr repository list.
az acr repository list --name myregistry --output table
Implantar e testar o AKS na conexão do OpenAI do Azure
Substitua os espaços reservados no arquivo
pod.yamlna pastaazure-openai-workload-identity.- Substitua
<YourContainerImage>pelo nome da imagem que você criou anteriormente. Por exemplo,<myregistry>.azurecr.io/<sc-demo-openai-identity>:<latest>. - Substitua
<ServiceAccountCreatedByServiceConnector>pelo nome da conta de serviço. Ele pode ser encontrado no portal do Azure, no painel Conector de Serviço. - Substitua
<SecretCreatedByServiceConnector>pelo nome do segredo. Ele pode ser encontrado no portal do Azure, no painel Conector de Serviço.
- Substitua
Implante o pod no cluster com o comando
kubectl apply, que cria um pod chamadosc-demo-openai-identityno namespace padrão do cluster do AKS. Instalekubectllocalmente usando o comando az aks install-cli se ele não estiver instalado.kubectl apply -f pod.yamlVerifique se a implantação foi bem-sucedida exibindo o pod com
kubectl.kubectl get pod/sc-demo-openai-identityVerifique se a conexão é estabelecida exibindo os logs com
kubectl.kubectl logs pod/sc-demo-openai-identity
Limpar os recursos
Se você não precisar mais dos recursos criados neste tutorial, limpe-os excluindo o grupo de recursos.
az group delete \
--resource-group MyResourceGroup