El conjunto de IA nativa para la nube se puede instalar en clústeres ACK Pro, ACK Serverless Pro y ACK Edge Pro que ejecuten Kubernetes 1.18 o versiones posteriores. Este tema explica cómo instalar el conjunto y configurar las consolas de operaciones y desarrollo de IA nativa para la nube.
Requisitos previos
Asegúrese de cumplir con lo siguiente:
-
Se ha creado un clúster ACK Pro
, ACK Serverless Pro o ACK Edge Pro que ejecute Kubernetes 1.18 o una versión posterior.
(Para la consola de operaciones de IA) Se seleccionaron Container Monitoring y Log Service en la página Component Configurations durante la creación del clúster, o bien se instalaron ack-arms-prometheus y loongcollector en la página Add-ons. Consulte Use Alibaba Cloud Prometheus for monitoring y Collect container logs from an ACK cluster
Despliegue del conjunto
Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.
En la página Clusters, haga clic en el nombre de su clúster. En el panel izquierdo, seleccione Applications > Cloud-native AI Suite.
En la página Cloud-native AI Suite, haga clic en Deploy.
-
En la página de despliegue, seleccione los componentes que desea instalar. Consulte Component reference para obtener detalles sobre compatibilidad.
Si selecciona Kube Queue , Console y Kubeflow Pipelines juntos, Arena es obligatorio.
Haga clic en Deploy Cloud-native AI Suite. El sistema ejecuta una verificación del entorno y las dependencias, y luego despliega los componentes seleccionados.
Referencia de componentes
La siguiente tabla enumera todos los componentes, sus namespaces y los tipos de clúster compatibles.
|
Configuración |
Componente |
Namespace |
ACK Pro |
ACK Serverless Pro |
ACK Edge Pro |
|
Elasticity |
ack-alibaba-cloud-metrics-adapter |
kube-system |
Sí |
No |
Sí |
|
Acceleration (Aceleración de datos Fluid) |
ack-fluid |
fluid-system |
Sí |
Sí |
Sí |
|
Scheduling (Programación de tareas por lotes, uso compartido de GPU, programación de GPU con conocimiento de topología y programación de NPU) |
ack-ai-installer |
kube-system |
Sí |
No |
Sí |
|
Kube Queue |
ack-kube-queue |
kube-queue |
Sí |
Sí |
Sí |
|
Arena (CLI) |
ack-arena |
kube-system |
Sí |
Sí |
Sí |
|
Console (Platform for AI) |
ack-pai |
pai-system |
Sí |
No |
Sí |
|
Console (AI Dashboard) |
ack-ai-dashboard |
kube-ai |
Sí |
No |
Sí |
|
Console (AI Developer Console) |
ack-ai-dev-console |
kube-ai |
Sí |
No |
Sí |
|
Console Data Storage |
ack-mysql |
kube-ai |
Sí |
No |
Sí |
|
Workflow (Kubeflow Pipelines) |
ack-ai-pipeline |
kube-ai |
Sí |
No |
Sí |
|
Monitoring |
ack-arena-exporter |
kube-ai |
Sí |
No |
Sí |
ack-pai integra algoritmos y motores optimizados por Platform for AI (PAI), incluidos Data Science Workshop (DSW), Deep Learning Containers (DLC) y Elastic Algorithm Service (EAS), para mejorar la elasticidad y la eficiencia en el desarrollo, entrenamiento e inference de IA.
Para configurar parámetros personalizados en los componentes de Scheduling, haga clic en Advanced en la página de despliegue.
Si seleccionó Arena, configure el cliente Arena por separado después de la instalación.
Consulte Aceleración de datos Fluid, ack-ai-installer, ack-kube-queue y ack-ai-pipeline.
Configuración de la consola de IA
A partir del 22 de enero de 2025, la consola de IA (AI Dashboard y AI Developer Console) solo está disponible para usuarios incluidos en la lista de permitidos. Los despliegues existentes no se ven afectados. Los usuarios que no están en la lista de permitidos pueden instalar y configurar la consola de IA a través de la comunidad de código abierto. Consulte data-on-ack .
Autorización de la consola de IA
-
En la sección Ecosystem Tools, seleccione Console. Aparece un cuadro de diálogo Note.
Si el estado de autorización muestra Authorized, omita este paso y continúe con Select an access method.
Si el estado muestra Unauthorized en rojo y OK no está disponible, complete la autorización a continuación.
-
Cree una directiva personalizada en Resource Access Management (RAM).
Inicie sesión en la consola de RAM. En el panel de navegación izquierdo, seleccione Permissions > Policies.
Haga clic en Create Policy.
-
En la pestaña JSON, introduzca la siguiente directiva y haga clic en OK. Asigne a la directiva el nombre
k8sWorkerRolePolicy-{ClusterID}.{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "cs:*", "log:GetProject", "log:GetLogStore", "log:GetConfig", "log:GetMachineGroup", "log:GetAppliedMachineGroups", "log:GetAppliedConfigs", "log:GetIndex", "log:GetSavedSearch", "log:GetDashboard", "log:GetJob", "ecs:DescribeInstances", "ecs:DescribeSpotPriceHistory", "ecs:DescribePrice", "eci:DescribeContainerGroups", "eci:DescribeContainerGroupPrice", "log:GetLogStoreLogs", "ims:CreateApplication", "ims:UpdateApplication", "ims:GetApplication", "ims:ListApplications", "ims:DeleteApplication", "ims:CreateAppSecret", "ims:GetAppSecret", "ims:ListAppSecretIds", "ims:ListUsers" ], "Resource": "*" } ] }
-
Adjunte la directiva personalizada al rol de RAM del clúster.
En la consola de RAM, en el panel de navegación izquierdo, seleccione Identities > Roles.
Busque
KubernetesWorkerRole-{ClusterID}y haga clic en Grant Permission en la columna Actions.En el panel Grant Permission, busque
k8sWorkerRolePolicy-{ClusterID}.Seleccione la directiva y haga clic en Grant permissions.
Regrese al cuadro de diálogo Note y haga clic en Authorization Check. El estado cambia a Authorized y OK pasa a estar disponible.
Selección de un método de acceso
En el cuadro de diálogo Note, seleccione un método de acceso y haga clic en OK.
|
Método de acceso |
Uso recomendado |
Notas |
|
Private IP |
Producción |
Accede a la consola a través de la red interna |
|
Internal Domain |
Producción |
Utiliza un nombre de dominio privado |
|
Public Domain |
Solo pruebas |
Asigne el dominio público a la IP pública del SLB de NGINX Ingress en su archivo hosts local |
Consulte Access the AI operations console.
Configuración del almacenamiento de datos de la consola
Después de seleccionar Console en Interaction Mode, aparece la opción Console Data Storage. Elija un método de almacenamiento.
MySQL preinstalado (solo para pruebas)
Si no selecciona ApsaraDB RDS, el clúster utiliza una base de datos MySQL integrada de forma predeterminada.
Esta opción se recomienda únicamente para pruebas. Si el clúster falla o se pierde el almacenamiento, los datos podrían perderse.
El despliegue crea un disco de 120 GB como PersistentVolumeClaim (PVC) mediante StorageClass. ACK no gestiona el ciclo de vida del disco. Elimine el disco manualmente cuando ya no sea necesario.
ApsaraDB RDS (producción)
Utilice ApsaraDB RDS para cargas de trabajo de producción.
Si ocurre un error de conexión, consulte Troubleshoot instance connection failures .
Para cambiar el método de almacenamiento, desinstale y vuelva a instalar el conjunto. Elimine el Secretkubeai-rdsen el namespacekube-aiantes de reinstalar, si existe.
Adquiera una instancia de ApsaraDB RDS y cree una base de datos y una cuenta. Consulte Quick start for ApsaraDB RDS y Descripción general de facturación.
Haga clic en Deploy Cloud-native AI Suite en la parte inferior de la página de despliegue.
En la consola de ACK, haga clic en el nombre del clúster. En el panel de navegación izquierdo, seleccione Configurations > Secrets.
En la lista desplegable Namespace, seleccione
kube-ai.Haga clic en Create from YAML.
-
Introduzca la siguiente plantilla YAML para crear un Secret llamado
kubeai-rdsy luego haga clic en Create.Parámetro
Descripción
MYSQL_HOSTEl endpoint de conexión de ApsaraDB RDS
MYSQL_DB_NAMEEl nombre de la base de datos
MYSQL_USEREl nombre de usuario de la cuenta de la base de datos
MYSQL_PASSWORDLa contraseña de la cuenta de la base de datos
apiVersion: v1 kind: Secret metadata: name: kubeai-rds namespace: kube-ai type: Opaque stringData: MYSQL_HOST: "Your RDS endpoint" MYSQL_DB_NAME: "Database name" MYSQL_USER: "Database username" MYSQL_PASSWORD: "Database password"
Configuración del almacenamiento de datos del flujo de trabajo
Si selecciona Kubeflow Pipelines como motor de flujo de trabajo, aparece la opción Workflow Data Storage. Elija un método de almacenamiento.
MinIO preinstalado (solo para pruebas)
Si no selecciona OSS, el clúster utiliza una instancia de MinIO integrada de forma predeterminada.
Esta opción se recomienda únicamente para pruebas. Si el clúster falla o se pierde el almacenamiento, los datos podrían perderse.
El despliegue crea un disco de 20 GB como PVC mediante StorageClass. ACK no gestiona el ciclo de vida del disco. Elimine el disco manualmente cuando ya no sea necesario.
Object Storage Service (pruebas y producción)
Utilice Object Storage Service (OSS) para un almacenamiento de datos de flujo de trabajo persistente y escalable.
-
Si el namespace
kube-aino existe, créelo:El namespace
kube-aise crea automáticamente durante el despliegue del conjunto. Verifique que exista antes de crearlo.kubectl create ns kube-ai En la consola de ACK, haga clic en el nombre del clúster. En el panel de navegación izquierdo, seleccione Configurations > Secrets.
En la lista desplegable Namespace, seleccione
kube-ai.Haga clic en Create from YAML.
-
Introduzca el siguiente YAML para crear un Secret llamado
kubeai-ossy luego haga clic en Create.Parámetro
Descripción
ENDPOINTEl endpoint de OSS para su región. Consulte OSS regions and endpoints
ACCESS_KEY_IDEl AccessKey ID de un usuario de RAM con permiso
AliyunOSSFullAccess. Consulte Creación de un par de AccessKeyACCESS_KEY_SECRETEl AccessKey secret del usuario de RAM
apiVersion: v1 kind: Secret metadata: name: kubeai-oss namespace: kube-ai type: Opaque stringData: ENDPOINT: "https://oss-cn-beijing.aliyuncs.com" ACCESS_KEY_ID: "****" ACCESS_KEY_SECRET: "****" -
Después de crear el Secret, compruebe que aparezca un bucket llamado
mlpipeline-<clusterid>en la consola de OSS. Consulte Descripción general de facturación para obtener información sobre la facturación de OSS. Regrese a la página de despliegue e instale Kubeflow Pipelines.
Verificación del despliegue
Después del despliegue, compruebe que los componentes se estén ejecutando:
En la consola de ACK, haga clic en el nombre del clúster. En el panel izquierdo, seleccione Applications > Cloud-native AI Suite. La lista de componentes muestra todos los componentes instalados con sus versiones.
Confirme que cada componente muestre un estado de despliegue exitoso. Puede Deploy o Uninstall componentes individuales. Si hay una versión más reciente disponible, también puede Upgrade.
Si instaló las consolas de IA, haga clic en AI Dashboard o AI Developer Console en la esquina superior izquierda de la página Cloud-native AI Suite para verificar el acceso.