Configura GKE para ML Diagnostics
Si usas Google Kubernetes Engine (GKE) para tu carga de trabajo de AA, usa esta guía para configurar tu clúster de GKE y, luego, instalar los artefactos de GKE necesarios.
La configuración de tu carga de trabajo depende de si usas la generación de perfiles bajo demanda o la generación de perfiles programática.
- Generación de perfiles bajo demanda: Requiere que instales
connection-operator. - Generación de perfiles programática: Requiere que instales
injection-webhook, etiquetes la carga de trabajo y uses el SDK de ML Diagnostics.
Si usas una versión de GKE posterior a 1.35.0-gke.3065000, puedes configurar el clúster de GKE para ML Diagnostics con un solo comando de gcloud CLI. Para obtener más información, consulta Configura con
gcloud CLI.
Para las versiones de GKE anteriores a 1.35.0-gke.3065000, debes configurar manualmente el clúster de GKE para instalar los artefactos cert-manager, injection-webhook y connection-operator. Para obtener más información,
consulta Instalación manual.
Configura con gcloud CLI
Para las versiones de GKE posteriores a 1.35.0-gke.3065000, usa uno de los siguientes comandos de gcloud CLI para implementar los componentes necesarios de ML Diagnostics (connection-operator y injection-webhook) en tu clúster de GKE.
Para clústeres de GKE nuevos:
gcloud beta container clusters create CLUSTER_NAME --enable-managed-mldiagnostics
Para clústeres de GKE existentes:
gcloud beta container clusters update CLUSTER_NAME --enable-managed-mldiagnostics
Para inhabilitar ML Diagnostics, usa lo siguiente:
gcloud beta container clusters update CLUSTER_NAME --no-enable-managed-mldiagnostics
También puedes habilitar los comandos de gcloud CLI a través de la consola Google Cloud de GKE:
Para clústeres de GKE nuevos, ve a Administrador de funciones > Diagnóstico de aprendizaje automático administrado.
Ir a Diagnóstico de aprendizaje automático administrado de GKE
Para clústeres de GKE existentes, ve a Clústeres, selecciona el nombre de tu clúster, ve a Editar y edita Diagnóstico de aprendizaje automático administrado en Funciones.
Para obtener más información sobre los comandos de gcloud CLI para configurar un clúster de GKE para ML Diagnostics, consulta la marca enable-managed-mldiagnostics en las siguientes páginas de referencia de la API:
Instalación manual
Para las versiones de GKE anteriores a 1.35.0-gke.3065000, debes configurar manualmente el clúster de GKE para instalar lo siguiente:
cert-manager: Es un requisito previo parainjection-webhook.injection-webhook: Proporciona al SDK los metadatos necesarios. Admite cargas de trabajo comunes de Kubernetes de AA, comoJobSet,RayJobyLeaderWorkerSet.connection-operator: Para la generación de perfiles bajo demanda en GKE. Implementarconnection-operatorjunto coninjection-webhooken el clúster de GKE inicializará las solicitudes de generación de perfiles para segmentar los pods con servidores de generación de perfiles en ejecución cuando activas la captura bajo demanda.
Para obtener más información sobre la configuración de Google Kubernetes Engine, consulta Configura el clúster de Google Kubernetes Engine.
Cert-manager
cert-manager actúa como el controlador de certificados de tu clúster, lo que garantiza que tus aplicaciones sean seguras y que tus certificados nunca venzan de forma involuntaria.
Usa Helm para instalar lo siguiente:
helm repo add jetstack https://charts.jetstack.io
helm repo update
helm install \
cert-manager jetstack/cert-manager \
--namespace cert-manager \
--create-namespace \
--version v1.13.0 \
--set installCRDs=true \
--set global.leaderElection.namespace=cert-manager \
--timeout 10m
Injection-webhook
injection-webhook pasa metadatos al SDK. Usa helm upgrade --install para instalar por primera vez o actualizar una instalación existente.
Usa Helm para instalar lo siguiente:
helm upgrade --install mldiagnostics-injection-webhook \
--namespace=gke-mldiagnostics \
--create-namespace \
--version 0.25.0 \
oci://us-docker.pkg.dev/ai-on-gke/mldiagnostics-webhook-and-operator-helm/mldiagnostics-injection-webhook
Connection-operator
connection-operator habilita la generación de perfiles bajo demanda en GKE. Usa la siguiente tabla para encontrar la versión correcta de mldiagnostics-connection-operator:
| Versión de JAX | Versión del gráfico de Helm |
|---|---|
| 0.8.x | 0.24.0 |
| 0.9.x+ | 0.24.0+ |
Usa Helm para instalar la versión requerida.
Para JAX 0.8.x:
helm upgrade --install mldiagnostics-connection-operator \
--namespace=gke-mldiagnostics \
--create-namespace \
--version 0.24.0 \
oci://us-docker.pkg.dev/ai-on-gke/mldiagnostics-webhook-and-operator-helm/mldiagnostics-connection-operator \
--set 'mldiagnosticsConnectionOperator.controller.args={--metrics-bind-address=:8443,--health-probe-bind-address=:8081,--sidecar-timeout=65m,--disable-hostname-override}'
Para JAX 0.9.x+:
helm upgrade --install mldiagnostics-connection-operator \
--namespace=gke-mldiagnostics \
--create-namespace \
--version 0.24.0 \
oci://us-docker.pkg.dev/ai-on-gke/mldiagnostics-webhook-and-operator-helm/mldiagnostics-connection-operator
Etiqueta la carga de trabajo
Para la generación de perfiles programática, debes activar injection-webhook para insertar metadatos en los pods. Etiqueta la carga de trabajo o su espacio de nombres con managed-mldiagnostics-gke=true antes de implementar la carga de trabajo:
Etiqueta una carga de trabajo. Etiqueta una carga de trabajo
Jobset,LWSoRayJob, lo que habilitará el webhook para esa carga de trabajo específica. El siguiente es un ejemplo para una carga de trabajoJobSet:apiVersion: jobset.x-k8s.io/v1alpha2 kind: JobSet metadata: name: single-host-tpu-v3-jobset2 namespace: default labels: managed-mldiagnostics-gke: "true"Etiqueta un espacio de nombres. Esto habilitará el webhook para todas las cargas de trabajo
Jobset,LWSyRayJobdentro de ese espacio de nombres.kubectl create namespace ai-workloads kubectl label namespace ai-workloads managed-mldiagnostics-gke=true