GKE für ML Diagnostics konfigurieren
Wenn Sie Google Kubernetes Engine (GKE) für Ihre ML-Arbeitslast verwenden, können Sie in diesem Leitfaden nachlesen, wie Sie Ihren GKE-Cluster konfigurieren und die erforderlichen GKE-Artefakte installieren. Die GKE-Anforderungen sind unabhängig davon, ob Sie die ML Diagnostics gcloud CLI verwenden und das On-Demand-Profiling über die CLI auslösen oder das ML Diagnostics SDK mit Ihrer Arbeitslast verwenden und in GKE bereitstellen.
Wenn Sie eine GKE-Version verwenden, die neuer als 1.35.0-gke.3065000 ist, können Sie den GKE-Cluster für ML Diagnostics mit einem einzigen gcloud CLI-Befehl einrichten. Weitere Informationen finden Sie unter Mit der gcloud CLI einrichten.
Bei GKE-Versionen vor 1.35.0-gke.3065000 müssen Sie den GKE-Cluster manuell konfigurieren, um die Artefakte cert-manager, injection-webhook und connection-operator zu installieren. Weitere Informationen finden Sie unter Manuelle Installation.
Mit der gcloud CLI einrichten
Verwenden Sie für GKE-Versionen nach 1.35.0-gke.3065000 einen der folgenden gcloud CLI-Befehle, um die erforderlichen ML Diagnostics-Komponenten in Ihrem GKE-Cluster bereitzustellen.
Für neue GKE-Cluster:
gcloud container clusters create CLUSTER_NAME --enable-managed-mldiagnostics
Für vorhandene GKE-Cluster:
gcloud container clusters update CLUSTER_NAME --enable-managed-mldiagnostics
So deaktivieren Sie ML Diagnostics:
gcloud container clusters update CLUSTER_NAME --no-enable-managed-mldiagnostics
Sie können die gcloud CLI-Befehle auch über die GKE Google Cloud Console aktivieren:
Bei neuen GKE-Clustern rufen Sie Feature Manager > Managed Machine Learning Diagnostics auf.
Rufen Sie für vorhandene GKE-Cluster Cluster auf, wählen Sie den Namen Ihres Clusters aus, klicken Sie auf Bearbeiten und bearbeiten Sie Verwaltete Machine Learning-Diagnose unter Funktionen.
Weitere Informationen zu gcloud CLI-Befehlen zum Einrichten eines GKE-Cluster für ML Diagnostics finden Sie auf den folgenden API-Referenzseiten unter dem Flag enable-managed-mldiagnostics:
Manuelle Installation
Bei GKE-Versionen vor 1.35.0-gke.3065000 müssen Sie den GKE-Cluster manuell konfigurieren, um Folgendes zu installieren:
cert-manager: Eine Voraussetzung fürinjection-webhook.injection-webhook: Stellt dem SDK die erforderlichen Metadaten zur Verfügung. Es unterstützt gängige ML-Kubernetes-Arbeitslasten wieJobSet,RayJobundLeaderWorkerSet.connection-operator: Für On-Demand-Profiling in GKE. Wenn Sieconnection-operatorzusammen mitinjection-webhookim GKE-Cluster bereitstellen, werden Profiling-Anfragen an Ziel-Pods mit Profiling-Servern initialisiert, wenn Sie die On-Demand-Erfassung auslösen.
Weitere Informationen zur Einrichtung für Google Kubernetes Engine finden Sie unter Google Kubernetes Engine-Cluster konfigurieren.
Cert-manager
cert-manager fungiert als Zertifikatscontroller für Ihren Cluster und sorgt dafür, dass Ihre Anwendungen sicher sind und Ihre Zertifikate nicht unbeabsichtigt ablaufen.
Installieren Sie Folgendes mit Helm:
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 übergibt Metadaten an das SDK. Verwenden Sie helm upgrade, um auf die neueste Version von injection-webhook zu aktualisieren und Ausfallzeiten zu vermeiden.
Installieren Sie Folgendes mit Helm:
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
Verbindungsoperator
connection-operator ermöglicht On-Demand-Profiling in GKE. In der folgenden Tabelle finden Sie die richtige mldiagnostics-connection-operator-Version:
| JAX-Version | Helm-Diagrammversion |
|---|---|
| 0.8.1-0.8.3 | 0.14.0 |
| 0.9.0 | 0.16.0 |
Installieren Sie die erforderliche Version mit Helm:
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
Arbeitslast labeln
Damit injection-webhook Metadaten in Pods einfügt, müssen Sie entweder die Arbeitslast oder ihren Namespace vor der Bereitstellung der Arbeitslast mit managed-mldiagnostics-gke=true kennzeichnen:
Arbeitslast labeln Labeln Sie eine
Jobset-,LWS- oderRayJob-Arbeitslast, um den Webhook für diese bestimmte Arbeitslast zu aktivieren. Hier ist ein Beispiel für eineJobSet-Arbeitslast:apiVersion: jobset.x-k8s.io/v1alpha2 kind: JobSet metadata: name: single-host-tpu-v3-jobset2 namespace: default labels: managed-mldiagnostics-gke: "true"Namespace mit einem Label versehen Dadurch wird der Webhook für alle
Jobset-,LWS- undRayJob-Arbeitslasten in diesem Namespace aktiviert.kubectl create namespace ai-workloads kubectl label namespace ai-workloads managed-mldiagnostics-gke=true