Configura GKE per ML Diagnostics
Se utilizzi Google Kubernetes Engine (GKE) per il tuo workload ML, utilizza questa guida per configurare il cluster GKE e installare gli artefatti GKE richiesti. I requisiti di GKE sono gli stessi indipendentemente dal fatto che utilizzi gcloud CLI di ML Diagnostics e attivi la profilazione on demand dalla CLI o utilizzi l'SDK ML Diagnostics con il tuo workload ed esegui il deployment su GKE.
Se utilizzi una versione di GKE successiva a 1.35.0-gke.3065000, puoi configurare il cluster GKE per ML Diagnostics con un singolo comando gcloud CLI. Per saperne di più, consulta Configurazione con gcloud CLI.
Per le versioni di GKE precedenti alla 1.35.0-gke.3065000, devi
configurare manualmente il cluster GKE per installare gli artefatti cert-manager,
injection-webhook e connection-operator. Per ulteriori informazioni,
consulta Installazione manuale.
Configura con gcloud CLI
Per le versioni di GKE successive alla 1.35.0-gke.3065000, utilizza uno dei seguenti comandi gcloud CLI per eseguire il deployment dei componenti ML Diagnostics richiesti nel tuo cluster GKE.
Per i nuovi cluster GKE:
gcloud container clusters create CLUSTER_NAME --enable-managed-mldiagnostics
Per i cluster GKE esistenti:
gcloud container clusters update CLUSTER_NAME --enable-managed-mldiagnostics
Per disattivare ML Diagnostics, utilizza quanto segue:
gcloud container clusters update CLUSTER_NAME --no-enable-managed-mldiagnostics
Puoi anche abilitare i comandi gcloud CLI tramite la console Google Cloud GKE:
Per i nuovi cluster GKE, vai a Gestore funzionalità > Diagnostica di machine learning gestito.
Per i cluster GKE esistenti, vai a Cluster, seleziona il nome del cluster, vai a Modifica e modifica Diagnostica di Managed Machine Learning in Funzionalità.
Per saperne di più sui comandi gcloud CLI per configurare un cluster GKE per ML Diagnostics, consulta il flag enable-managed-mldiagnostics nelle seguenti pagine di riferimento dell'API:
Installazione manuale
Per le versioni di GKE precedenti alla 1.35.0-gke.3065000, devi
configurare manualmente il cluster GKE per installare quanto segue:
cert-manager: un prerequisito perinjection-webhook.injection-webhook: fornisce all'SDK i metadati richiesti. Supporta i workload Kubernetes ML comuni, comeJobSet,RayJobeLeaderWorkerSet.connection-operator: Per la profilazione on demand su GKE. Il deployment diconnection-operatorinsieme ainjection-webhooknel cluster GKE inizializzerà le richieste di profilazione per i pod di destinazione con i server di profilazione in esecuzione quando attivi l'acquisizione on demand.
Per ulteriori informazioni sulla configurazione per Google Kubernetes Engine, consulta Configura il cluster Google Kubernetes Engine.
Cert-manager
cert-manager funge da controller dei certificati per il tuo cluster, garantendo
che le tue applicazioni siano sicure e che i tuoi certificati non
scadano mai involontariamente.
Utilizza Helm per installare quanto segue:
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 passa i metadati all'SDK. Utilizza helm upgrade per eseguire l'aggiornamento
all'ultima versione di injection-webhook per assicurarti che non si verifichi
alcun tempo di inattività.
Utilizza Helm per installare quanto segue:
helm install mldiagnostics-injection-webhook \
--namespace=gke-mldiagnostics \
--create-namespace \
oci://us-docker.pkg.dev/ai-on-gke/mldiagnostics-webhook-and-operator-helm/mldiagnostics-injection-webhook
Connection-operator
connection-operator consente la profilazione on demand su GKE. Utilizza la tabella seguente per trovare la versione corretta di mldiagnostics-connection-operator:
| Versione di JAX | Versione del grafico Helm |
|---|---|
| 0.8.1-0.8.3 | 0.14.0 |
| 0.9.0 | 0.16.0 |
Utilizza Helm per installare la versione richiesta:
helm install mldiagnostics-connection-operator \
--namespace=gke-mldiagnostics \
--create-namespace \
--version VERSION \
oci://us-docker.pkg.dev/ai-on-gke/mldiagnostics-webhook-and-operator-helm/mldiagnostics-connection-operator
Carico di lavoro dell'etichetta
Per attivare injection-webhook per inserire i metadati nei pod, devi
etichettare il carico di lavoro o il relativo spazio dei nomi con managed-mldiagnostics-gke=true
prima di eseguire il deployment del carico di lavoro:
Etichettare un workload. Etichetta un workload
Jobset,LWSoRayJob, che attiverà il webhook per quel workload specifico. Di seguito è riportato un esempio per un workloadJobSet:apiVersion: jobset.x-k8s.io/v1alpha2 kind: JobSet metadata: name: single-host-tpu-v3-jobset2 namespace: default labels: managed-mldiagnostics-gke: "true"Etichetta uno spazio dei nomi. In questo modo, il webhook verrà abilitato per tutti i workload
Jobset,LWSeRayJoball'interno di questo spazio dei nomi.kubectl create namespace ai-workloads kubectl label namespace ai-workloads managed-mldiagnostics-gke=true