- Notas relacionadas
- Requisitos
- Instalación
- Primeros pasos
- Proyectos
- Conjuntos de datos
- Paquetes ML
- Procesos
- Habilidades ML
- Logs de ML
- Document Understanding en AI Fabric
- Guía básica de resolución de problemas
1. Aprovisionar un clúster de Azure AKS
Esta sección detalla los pasos que debes seguir al aprovisionar un clúster de AKS para ejecutar AI Fabric en una configuración multinodo altamente disponible.
- La instalación de AI Fabric es compatible actualmente en un clúster de AKS nuevo y dedicado. Un clúster compartido con directivas/restricciones desconocidas puede necesitar soluciones adicionales y no es compatible de forma oficial.
- Si el uso de tu AI Fabric es muy elevado y se requiere un escalado horizontal para admitir una gran variedad de casos de uso de IA/ML, utiliza casos de tu organización.
- Necesitas una solución de alta disponibilidad implementada en varias zonas.
- Requiere varias réplicas tanto para los servicios básicos como los ML para la recuperación ante desastres, así como para fines de escalado.
- Clúster de Kubernetes de alta disponibilidad gestionado por Azure.
- Registro de contenedores de alta disponibilidad gestionado por Azure.
- Almacenamiento en la nube de alta disponibilidad gestionado por Azure.
- Autoescalado horizontal de pods (escalado del número de pods para los servicios básicos en función de la carga de trabajo).
- Autoescalado de clústeres de Kubernetes (aumento del número de nodos en el clúster de AKS en función de la demanda automáticamente tanto para los grupos de nodos de la CPU como de la GPU).
- Taints para la GPU para garantizar que los recursos de la GPU se utilizan para los fines deseados.
- Los certificados se aprovisionan y gestionan a través de Cert Manager.
- Clúster de AKS con un mínimo de dos grupos de nodos. Al menos un grupo de nodos con nodos de tipo GPU y taints adecuados.
- Registro de contenedores de Azure en el mismo RG que el clúster.
- Una cuenta de almacenamiento en el mismo RG que el clúster
- Una instancia de Application Insights en el mismo RG que el clúster.
- SQL Server con bases de datos creadas
Esta sección ofrece una descripción general de alto nivel de los pasos, y las siguientes dos secciones desglosan este proceso en detalle.
- El usuario crea el clúster de AKS, el registro de contenedores de Azure, 1 cuenta de almacenamiento, 1 instancia de application-insights.
-
Oneinstaller tomará lo siguiente como input:
AKS Cluster name AKS Cluster Resource Group AKS Worker Resource Group ACR Endpoint ACR Name (Username) ACR Password Storage Account Name Storage Account Key Application Insights Key Flag to indicate whether to expose kotsadm service or not DNS Prefix Name for aifabric
AKS Cluster name AKS Cluster Resource Group AKS Worker Resource Group ACR Endpoint ACR Name (Username) ACR Password Storage Account Name Storage Account Key Application Insights Key Flag to indicate whether to expose kotsadm service or not DNS Prefix Name for aifabric - A continuación, el cliente inicia sesión en shell.azure.com y establece el ID de suscripción correcto (utilizando "az account set --subscription").
- Shell debería tener ya instalado kubectl.
- A continuación, copia el paquete one-installer en el shell, descomprímelo y ejecuta el bash setup.sh (los valores anteriores se pueden pasar a través de la línea de comandos o, si no es así, nuestro instalador volverá a preguntar por ellos).
- Escribe "azure" en el input de la plataforma Y todo lo demás se aprovisionará después de esto.
- Kotsadmin y la aplicación kots en el espacio de nombres aifabric.
- Instalación de Istio en el espacio de nombres de istio-system.
- Crea contenedores en la cuenta de almacenamiento proporcionada por ellos (equivalente a los depósitos).
- Aplica la política CORS en la cuenta de almacenamiento.
- Asigna el prefijo dns proporcionado a la IP pública de la puerta de enlace de istio.
- Instala Cert Manager en el espacio de nombres de cert-manager.
- Instala Velero (en espacio de nombres de velero), crea una copia de seguridad y programa copias de seguridad regulares.
Omite este paso si ya tienes instalado el clúster de AKS. La versión de Kubernetes debe ser 1.16, 1.17 o 1.18. Las demás versiones no son compatibles actualmente.
- Crea un grupo de recursos en Azure; deberías tener el rol de propietario en el nivel del grupo de recursos.
- Busca los servicios de Kubernetes en el portal y crea una nueva instancia de AKS.
- Selecciona el grupo de recursos que creaste en el paso 1a y asigna un nombre de clúster adecuado de tu elección.
- Asegúrate de que tu versión de Kubernetes es 1.16, 1.17 o 1.18.
- Selecciona el tamaño del nodo para los nodos de trabajador (tamaño mínimo recomendado Standard_D2_v3 con 3 nodos).
- En la pestaña Autenticación:
- Métodos de autenticación. Selecciona "Identidad gestionada asignada por el sistema".
- En la pestaña Red:
- Selecciona "Configuración de red" como "Azure CNI".
- Selecciona "Política de red" como Azure.
- No modifiques los demás campos.
- En la pestaña Integraciones:
- Si tienes un registro de contenedores en el mismo grupo de recursos, selecciónalo, pues se utilizará para insertar imágenes de docker creadas en el tiempo de ejecución.
- O selecciona Crear nuevo > Dale un nombre de registro adecuado > Selecciona "Usuario administrador" como Habilitar.
- En la pestaña Etiquetas, asigna etiquetas adecuadas según sea necesario.
- Haz clic en "Revisar + Crear" y crea el clúster.
AI Center necesita un mínimo de 2 NodePools para que se cree en tu clúster; 1 se crea al crear el clúster, pero también tendrás que crear otro. 1 de estos grupos de nodos se espera que sean de nodos con GPU asociadas. Identificamos si este grupo de nodos existe o no utilizando los taints en el grupo de nodos.
Comprobemos este taint: nvidia.com/gpu=present:NoSchedule.
Para crear un NodePool con este taint, puedes utilizar el siguiente comando (muestra):
az aks nodepool add --name gpunodepool \)\)
--enable-cluster-autoscaler \)\)
--resource-group ${RESOURCEGROUP} \)\)
--cluster-name ${AKSCLUSTERNAME} \)\)
--node-vm-size Standard_NC6 \)\)
--node-taints nvidia.com/gpu=present:NoSchedule \)\)
--labels accelerator=nvidia \)\)
--node-count 0 \)\)
--min-count 0 \)\)
--max-count 3
az aks nodepool add --name gpunodepool \)\)
--enable-cluster-autoscaler \)\)
--resource-group ${RESOURCEGROUP} \)\)
--cluster-name ${AKSCLUSTERNAME} \)\)
--node-vm-size Standard_NC6 \)\)
--node-taints nvidia.com/gpu=present:NoSchedule \)\)
--labels accelerator=nvidia \)\)
--node-count 0 \)\)
--min-count 0 \)\)
--max-count 3
--node-vm-size puedes cambiar en función del tipo de nodo que quieras utilizar para la GPU. Consulta aquí los tamaños de la VM de la GPU compatibles en Azure.
Crea una cuenta de almacenamiento en el mismo grupo de recursos donde tu clúster está implementado. Usaremos esta cuenta de almacenamiento para crear contenedores para almacenar los archivos relacionados con AIFabric.
- Busca cuentas de almacenamiento en el portal.
- Crea una nueva cuenta de almacenamiento.
- Selecciona el grupo de recursos anterior.
- Asigna un nombre adecuado a la cuenta de almacenamiento.
- Deja el resto de la configuración con sus valores predeterminados. Añade etiquetas y crea la cuenta.
Crea 1 instancia de Application Insights en la misma RG en la que AIFabric publicará sus registros.
- Busca "Application Insights" en el portal.
- Crea una nueva instancia.
- Selecciona el grupo de recursos anterior.
- Asigna un nombre adecuado a la instancia.
- En el modo Recurso, selecciona Clásico.
- Añade etiquetas y crea.
Si tu clúster de AKS es privado, aquí podrás encontrar pasos adicionales.
Una vez configures lo necesario de infra, abre shell.azure.com y establece la suscripción actual a una en la que esté presente tu RG, utilizando el siguiente comando:
az account set --subscription <subscription-id>
az extension add --name application-insights
az account set --subscription <subscription-id>
az extension add --name application-insights
El primer paso es descargar el archivo .zip del instalador aquí y trasladarlo al servidor de AI Center. Como alternativa, puedes descargarlo directamente desde la máquina utilizando el siguiente comando:
wget https://download.uipath.com/aifabric/online-installer/v2020.10.2/aifabric-installer-v20.10.2.tar.gz
wget https://download.uipath.com/aifabric/online-installer/v2020.10.2/aifabric-installer-v20.10.2.tar.gz
A continuación, extrae el archivo y ve a la carpeta principal utilizando el siguiente comando:
tar -xvf aifabric-installer-v20.10.2.tar.gz
cd ./aifabric-installer-v20.10.2
tar -xvf aifabric-installer-v20.10.2.tar.gz
cd ./aifabric-installer-v20.10.2
A continuación, ejecuta setup.sh utilizando el siguiente comando:
bash setup.sh --resourceGroup <YOUR RESOURCE GROUP> --clusterName <YOUR CLUSTER NAME> --exposeKots n --acrHost <YOUR CONTAINER REGISTRY> --acrUser <YOUR CR USERNAME> --acrKey <YOUR CR KEY> --workerResourcegroup <YOUR WORKER RG> --dnsPrefix aicapp --storageAccountName <YOUR STORAGE ACCOUNT> --storageAccountAccessKey <YOUR STORAGE ACCOUNT ACCESS KEY> --appInsightsKey <YOUR ACCESS KEY> --platform azure --email <YOUR EMAIL>
bash setup.sh --resourceGroup <YOUR RESOURCE GROUP> --clusterName <YOUR CLUSTER NAME> --exposeKots n --acrHost <YOUR CONTAINER REGISTRY> --acrUser <YOUR CR USERNAME> --acrKey <YOUR CR KEY> --workerResourcegroup <YOUR WORKER RG> --dnsPrefix aicapp --storageAccountName <YOUR STORAGE ACCOUNT> --storageAccountAccessKey <YOUR STORAGE ACCOUNT ACCESS KEY> --appInsightsKey <YOUR ACCESS KEY> --platform azure --email <YOUR EMAIL>
Reemplaza los valores correspondientes según tu configuración, como se explica a continuación.
Los parámetros del comando anterior son los siguientes (si no se pasan en el comando, el instalador volverá a preguntar por ellos):
platform → Azure.
resourceGroup → Grupo de recursos donde hemos creado el clúster y otros recursos.
workerResourcegroup → AKS crea otro grupo de recursos junto con tu clúster para mantener la carga de trabajo del clúster; dale un nombre. Busca por el nombre de tu grupo de recursos original en el portal y también obtendrás el otro nombre RG; por lo general este nombre será similar a MC_<rg-name><cluster-name><region>
clusterName → Nombre del clúster de AKS.
exposeKots → Si quieres exponer Kotsadmin a través de Internet o no (y/n).
acrHost → Acude al registro de contenedores que se seleccionó en AKS y obtiene el nombre del servidor de la siguiente manera:
acrUser → Este es el nombre del registro que se creó.
acrKey → Acude a las claves de acceso de la página de ACR y asigna una de las contraseñas de allí.
dnsPrefix → Prefijo DNS que se utilizará para los ingress de AIFabric (como aifabric, aim-app o todo lo que quieras).
storageAccountName → Nombre de la cuenta de almacenamiento que se creó en el mismo grupo de recursos del paso 3.
storageAccountAccessKey → Acude a la página de la cuenta de almacenamiento → Claves de acceso. Haz clic en "Mostrar claves" y copia cualquiera de las claves de key1 o key2 y pásala.
appInsightsKey → Clave de Application Insights para la que se creó (clave de instrumentación de la siguiente captura de pantalla).
email → ID de correo electrónico que se utilizará para notificar de los detalles de vencimiento del certificado.
La instalación podría fallar con el error "No se encuentra Application Insights" la primera vez. Al volver a ejecutar, debería funcionar, o puedes instalar la extensión az utilizando este comando y volviendo a ejecutar la instalación.
az extension add --name application-insights.
Si tu clúster de AKS es privado, existen algunas diferencias con el proceso de instalación anterior.
- Crea 1 VM de Ubuntu en la misma red que la del clúster de AKS.
- Instala ahí las herramientas de línea de comandos kubectl, az, helm y jq.
- Habrá un cliente Azure con el mismo nombre que tu clúster AKS; ve a la vnet del clúster de AKS y, en las directivas de acceso, añade este cliente como colaborador (esto es necesario para la creación del equilibrador de carga privado).
- Inicia sesión en Azure y establece el ID de suscripción correcto a partir del clúster de AKS.
az login az account set --subscription <subscription-id>
az login az account set --subscription <subscription-id> - En el comando bash setup.sh, tendrás que pasar otro parámetro: --isPrivate y.
- Istio y KotsAdmin quedarán expuestos a través de las direcciones IP del equilibrador de carga privado.
- La marca de expose_kots se ignorará en este caso y al servicio kotsadmin se le asignará un load-balancer interno.
- Como las direcciones IP privadas no pueden tener nombres de DNS públicos, creamos un certificado autofirmado para Istio.
- En la página de Kotsadmin, el host de Ingress será la IP privada de Istio desde el output de oneinstaller. Puedes comprobarlo en cualquier momento ejecutando y recibiendo la dirección IP externa:
kubectl -n istio-system get svc istio-ingressgateway
kubectl -n istio-system get svc istio-ingressgateway - Podrás utilizar AIFabric en https://<istio-private-ip>/ai-app desde la red privada desde la que sea accesible AKS VNET.
- Si quieres exponerlo en Internet, tendrás que redirigir el tráfico desde la puerta de enlace pública a esta IP interna en el puerto 443.
- Crea una puerta de enlace pública.
- Configure la puerta de enlace para enviar el tráfico desde el puerto 443 a <istio-private-ip>: 443
- Utiliza la IP pública de la puerta de enlace o una entrada de DNS que apunte a esta puerta de enlace como host de Ingress en Kotsadmin.
- La configuración de la puerta de enlace requiere los detalles de los certificados TLS para conectarse al servidor de backend; si quieres actualizar tus propios certificados para AI Fabric, puedes cargarlos desde kotsadmin.
- Si tu puerta de enlace también necesita una comprobación de estado, puedes utilizar la URL /ai-deployer/actuator/health.
- Crea una instancia de puerta de enlace de la aplicación de Azure vinculada a la misma vnet que AKS o alguna vnet en el mismo nivel que la vnet de AKS.
- Crea una entrada de grupos de backend con la IP privada del loadbalancer de Istio.
- Crea una entrada de ajustes https con puerto 443. Si vas a utilizar certificados autofirmados, sigue la documentación https://docs.microsoft.com/en-us/azure/application-gateway/self-signed-certificates para crear certificados de CA autofirmados y certificados de servidor (al generar un certificado de servidor, introduce el Istio LB en el campo del nombre común) y también, en la configuración del nombre del host, selecciona "Anular con un nombre de dominio determinado" y fija la IP de Istio LB.
- Carga el certificado CA en el campo Certificado raíz de confianza.
- Carga los certificados de servidor creados anteriormente en kotsadmin, utiliza la IP pública de la puerta de enlace e inicia una implementación desde kotsadmin.
- Genera un archivo .pfx desde el certificado del servidor y la clave creados anteriormente, como
-openssl pkcs12 -export -out contoso.pfx -inkey fabrikam.key -in fabrikam.crt
. - Crea una entrada de listener en la puerta de enlace con el puerto 443 y carga este archivo .pfx ahí.
- Crea una regla en la puerta de enlace, seleccionando el listener anterior, la configuración http y el target de backend.
- Crea una entrada de prueba de estado con https y fija el host como dirección IP del loadbalancer de Istio. Escribe /ai-deployer/actuator/health como ruta y selecciona la configuración http anterior creada en el paso 3.
Requisitos | Nota |
---|---|
Grupo de recursos de Azure con acceso de propietario. | |
Asegúrate de tener suficientes vCPU disponibles en la región donde has creado tu grupo de recursos. | La cantidad mínima de vCPU disponibles debe ser 16. Ejecuta este comando para comprobar qué está a tu disposición en la región que aloja tu grupo de recursos: az vm list-skus --location westeurope --output table | grep virtualMachines .
|
Asegúrate de tener los tipos de máquina adecuados disponibles en la región donde has creado tu grupo de recursos. | Por forma predeterminada, las máquinas son Standard_D8s_v3 & Standard_NC6 . Ejecuta este comando para comprobar qué está a tu disposición en la región que aloja tu grupo de recursos: az vm list-skus --location westeurope --output table | grep virtualMachines .
|
Asegúrate de añadir etiquetas obligatorias. | Confirma que sabes que hay etiquetas obligatorias necesarias para etiquetar los recursos en el momento del aprovisionamiento en la suscripción de Azure de tu empresa. |
Descargar el script de aprovisionamiento de infraestructura
Descarga la carpeta aks-arm.zip del repositorio de UiPath ai-customer-scripts (es decir, de esta ubicación: https://github.com/UiPath/ai-customer-scripts/blob/master/platform/aks/aks-arm.zip).
Requisitos | Nota |
---|---|
Una instalación funcional de Orchestrator 20.10. | Referencia aquí. |
SQL Server 2008 R2 o posterior | Referencia aquí. |
La autenticación de SQL Server debe estar habilitada. | Ponte en contacto con tu administrador de SQL Server. |
Credenciales SQL que permiten crear la base de datos y el rol. | Ponte en contacto con tu administrador de SQL Server. |
Disponer de un navegador compatible. | Referencia |
El disco de arranque debe tener al menos 200 GB. | Referencia aquí. |
En los nodos del trabajador, los discos secundarios de al menos 500 GB en total deben estar sin formato. | Referencia aquí. |
Conéctate a Orchestrator desde el nodo maestro de AI Fabric. Deberías poder conectarte a través del nombre de dominio. | telnet <Orchestrator-Domain-Name>
<port> del nodo de UCP de AI Fabric.
|
Conéctate a la base de datos desde el nodo maestro de AI Fabric. | telnet <SQL-Server-IP>
<port> del nodo de UCP de AI Fabric.
|
Conéctate desde las máquinas de UiPath Robot/Studio al nodo maestro de AI Fabric. | telnet <UCP-Host-IP> 33443 y telnet <UCP-Host-IP> 33390 de las máquinas robot / Studio deben funcionar. Es decir, la máquina robot / Studio será clientes del servidor en los puertos 33443 y33390.
|
Conéctate a los puntos de conexión necesarios para el instalador desde la máquina de AI Fabric. | La máquina AIFabric no debe tener bloqueado el acceso saliente a los puntos de conexión |
Certificado de dominio (para la máquina de AI Fabric) de una autoridad de CA de confianza. | Referencia aquí. |
Archivo de licencia de AI Fabric. | Referencia aquí. |
- Requisitos previos
- Descripción general de los pasos de instalación
- Componentes que instalará One-Installer
- Configuración detallada de Infra
- Crear un clúster de AKS
- Crear grupos de nodos
- Crear una cuenta de almacenamiento
- Crear una instancia de Application Insights
- Pasos de instalación de AI Fabric
- Abrir Shell
- Descargar el instalador
- Ejecutar setup
- Clúster privado de AKS
- Explicación detallada sobre la configuración de la puerta de enlace de Azure
- Aprovisionamiento de infraestructura
- Requisitos antes de continuar