Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tutorial se muestra cómo conectar las aplicaciones de Azure Kubernetes Service (AKS) a Azure OpenAI mediante Service Connector con la autenticación de identidad de carga de trabajo. A continuación, establezca y pruebe las conexiones sin credenciales mediante la implementación de una aplicación de Python de ejemplo que se comunica con la Azure OpenAI.
En este tutorial, usted hará lo siguiente:
- Crear un clúster de AKS y un recurso de Azure OpenAI con modelo GPT-4.
- Configure Service Connector para establecer la conexión con la identidad de carga de trabajo.
- Clone una aplicación de ejemplo.
- Compile e inserte imágenes de contenedor en Azure Container Registry.
- Implemente la aplicación en AKS y compruebe la conexión.
- Limpieza de recursos.
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
-
Use el entorno de Bash en Azure Cloud Shell. Para obtener más información, consulte Get started with Azure Cloud Shell.
Si prefiere ejecutar localmente comandos de referencia de la CLI, instale la CLI de Azure. Si se ejecuta en Windows o macOS, considere la posibilidad de ejecutar CLI de Azure en un contenedor de Docker. Para obtener más información, consulte Cómo ejecutar el CLI de Azure en un contenedor de Docker.
Si usa una instalación local, inicie sesión en el CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Authenticate para Azure con CLI de Azure.
Cuando se le solicite, instale la extensión CLI de Azure en el primer uso. Para obtener más información sobre las extensiones, consulte Use y administre extensiones con el CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
- Docker y kubectl para administrar la imagen de contenedor y los recursos de Kubernetes.
- Conocimientos básicos sobre los contenedores y AKS. Empiece por preparar una aplicación para AKS.
- Permisos de acceso para crear recursos de Azure OpenAI e implementar modelos.
Crear recursos de Azure OpenAI y AKS
Para iniciar este tutorial, cree varios recursos Azure.
Cree un grupo de recursos para este tutorial.
az group create \ --name MyResourceGroup \ --location eastusCree un clúster de AKS con el comando siguiente o consulte el inicio rápido de AKS. En este tutorial, creamos la conexión de servicio y la definición de pod e implementamos la aplicación de ejemplo en este clúster.
az aks create \ --resource-group MyResourceGroup \ --name MyAKSCluster \ --enable-managed-identity \ --node-count 1 \ --generate-ssh-keysConéctese al clúster mediante el comando .
az aks get-credentials \ --resource-group MyResourceGroup \ --name MyAKSClusterCree un recurso de Azure OpenAI con el comando
az cognitiveservices account create. Si lo desea, consulte este tutorial para obtener más instrucciones. Azure OpenAI es el servicio de destino al que se conecta el clúster de AKS.az cognitiveservices account create \ --resource-group MyResourceGroup \ --name MyOpenAI \ --location eastus \ --kind OpenAI \ --sku s0 \ --custom-domain myopenai \ --subscription <SubscriptionID>Implemente un modelo con el comando . El modelo se usa en la aplicación de ejemplo para probar la conexión.
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 1Para almacenar la aplicación de ejemplo en contenedor, cree un Azure Container Registry (ACR). Use el comando o consulte este tutorial.
az acr create \ --resource-group MyResourceGroup \ --name myregistry \ --sku StandardHabilite la extracción anónima mediante el comando para que el clúster de AKS consuma imágenes del registro.
az acr update \ --resource-group MyResourceGroup \ --name myregistry \ --anonymous-pull-enabledCree una identidad administrada asignada por el usuario con el comando o haga referencia a este tutorial. Cuando se crea la conexión, la identidad administrada asignada por el usuario se usa para habilitar la identidad de carga de trabajo para las cargas de trabajo de AKS.
az identity create \ --resource-group MyResourceGroup \ --name MyIdentity
Creación de una conexión de servicio desde AKS a Azure OpenAI
Cree una conexión de servicio entre un clúster de AKS y Azure OpenAI en el portal de Azure o el CLI de Azure.
- Portal
- CLI de Azure
Consulte el inicio rápido de conexión del servicio AKS para obtener instrucciones para crear una nueva conexión y rellenar la configuración que hace referencia a los ejemplos de la tabla siguiente. Deje todas las demás opciones de configuración con sus valores predeterminados.
Pestaña Aspectos básicos:
Configuración Valor de ejemplo Descripción Espacio de nombres de Kubernetes valor predeterminado Espacio de nombres de Kubernetes. Tipo de servicio Servicio OpenAI El tipo de servicio de destino. Nombre de la conexión openai_conn Use el nombre de conexión proporcionado por Service Connector o elija su propio nombre de conexión. Suscripción Mi suscripción La suscripción Azure que contiene el recurso Azure OpenAI. OpenAI MyOpenAI El recurso de Azure OpenAI al que desea conectarse. Tipo de cliente Python Lenguaje de programación o marco para la configuración de conexión. Pestaña Autenticación:
Configuración de autenticación Valor de ejemplo Descripción Tipo de autenticación Identidad de carga de trabajo Método de autenticación para conectar la aplicación a Azure OpenAI. Se recomienda la identidad de la carga de trabajo para mejorar la seguridad. Los métodos alternativos incluyen cadena de conexión y principal de servicio, y requieren consideraciones de administración de credenciales. Suscripción Mi suscripción La suscripción que contiene la identidad administrada asignada por el usuario. Identidad administrada asignada por el usuario MyIdentity Identidad administrada asignada por el usuario que habilita la autenticación de identidad de carga de trabajo para el clúster de AKS.
Cuando se crea la conexión, puede ver sus detalles en el panel Conector de servicio.
Clonar aplicación de ejemplo de Python
Clone el repositorio de ejemplo:
git clone https://github.com/Azure-Samples/serviceconnector-aks-samples.gitVaya a la carpeta de ejemplo del repositorio para Azure OpenAI:
cd serviceconnector-aks-samples/azure-openai-workload-identityReemplace el marcador de posición en el archivo por el nombre del modelo implementado.
Compilación e inserción de imágenes de contenedor en Azure Container Registry
Compile e inserte las imágenes en el registro de contenedor mediante el comando CLI de Azure
az acr build.az acr build --registry myregistry --image sc-demo-openai-identity:latest ./Vea las imágenes del registro de contenedor mediante el comando .
az acr repository list --name myregistry --output table
Implementación y prueba de la conexión de AKS a Azure OpenAI.
Reemplace los marcadores de posición del archivo de la carpeta .
- Reemplace por el nombre de la imagen que compilamos anteriormente. Por ejemplo: .
- Reemplace por el nombre de la cuenta de servicio. Puede encontrarse en el portal de Azure, en el panel Service Connector.
- Reemplace por el nombre del secreto. Puede encontrarse en el portal de Azure, en el panel Service Connector.
Implemente el pod en el clúster con el comando , que crea un pod denominado en el espacio de nombres predeterminado del clúster de AKS. Instale localmente mediante el comando si no está instalado.
kubectl apply -f pod.yamlCompruebe si la implementación se realizó correctamente mediante la visualización del pod con .
kubectl get pod/sc-demo-openai-identityCompruebe que la conexión se establezca mediante la visualización de los registros con .
kubectl logs pod/sc-demo-openai-identity
Limpieza de recursos
Si ya no necesita los recursos creados en este tutorial, límpielos eliminando el grupo de recursos.
az group delete \
--resource-group MyResourceGroup
Contenido relacionado
- Conexión a Las herramientas de Foundry
- Conectar con Azure OpenAI mediante el Conector de Servicio
- integración de recursos multiservicio de Azure AI