Configurar o GKE para o ML Diagnostics
Se você estiver usando o Google Kubernetes Engine (GKE) para sua carga de trabalho de ML, use este guia para configurar o cluster do GKE e instalar os artefatos necessários do GKE. Os requisitos do GKE são os mesmos, independente de você usar a CLI gcloud do ML Diagnostics e acionar a criação de perfil sob demanda na CLI ou usar o SDK do ML Diagnostics com sua carga de trabalho e fazer a implantação no GKE.
Se você estiver usando uma versão do GKE mais recente que
1.35.0-gke.3065000, poderá configurar o cluster do GKE para o ML Diagnostics com um
único comando da CLI gcloud. Para mais informações, consulte Configurar com a
CLI gcloud.
Para versões do GKE anteriores a 1.35.0-gke.3065000, é necessário configurar manualmente o cluster do GKE para instalar os artefatos cert-manager, injection-webhook e connection-operator. Para mais informações,
consulte Instalação manual.
Configurar com a CLI gcloud
Para versões do GKE posteriores a 1.35.0-gke.3065000, use um dos
comandos da CLI gcloud a seguir para implantar os componentes necessários do ML Diagnostics
no cluster do GKE.
Para novos clusters do GKE:
gcloud container clusters create CLUSTER_NAME --enable-managed-mldiagnostics
Para clusters do GKE atuais:
gcloud container clusters update CLUSTER_NAME --enable-managed-mldiagnostics
Para desativar o diagnóstico de ML, use o seguinte:
gcloud container clusters update CLUSTER_NAME --no-enable-managed-mldiagnostics
Também é possível ativar os comandos da CLI gcloud no console do GKE Google Cloud :
Para novos clusters do GKE, acesse Gerenciador de recursos > Diagnóstico gerenciado de aprendizado de máquina.
Para clusters do GKE atuais, acesse Clusters, selecione o nome do cluster, clique em Editar e edite Diagnóstico gerenciado de machine learning em Recursos.
Para mais informações sobre os comandos da CLI gcloud para configurar um
cluster do GKE para o ML Diagnostics, consulte a flag enable-managed-mldiagnostics
nas seguintes páginas de referência da API:
Instalação manual
Para versões do GKE anteriores a 1.35.0-gke.3065000, é necessário
configurar manualmente o cluster do GKE para instalar o seguinte:
cert-manager: um pré-requisito para oinjection-webhook.injection-webhook: fornece ao SDK os metadados necessários. Ele oferece suporte a cargas de trabalho comuns do Kubernetes de ML, comoJobSet,RayJobeLeaderWorkerSet.connection-operator: para criação de perfil sob demanda no GKE. A implantação deconnection-operatoreinjection-webhookno cluster do GKE inicializa solicitações de criação de perfil para pods de destino com servidores de criação de perfil em execução quando você aciona a captura on demand.
Para mais informações sobre a configuração do Google Kubernetes Engine, consulte Configurar um cluster do Google Kubernetes Engine.
cert-manager
O cert-manager atua como controlador de certificados do cluster, garantindo que os aplicativos estejam seguros e que os certificados nunca expirem sem querer.
Use o Helm para instalar o seguinte:
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
O injection-webhook transmite metadados para o SDK. Use helm upgrade para atualizar
para a versão mais recente do injection-webhook e evitar
tempos de inatividade.
Use o Helm para instalar o seguinte:
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
O connection-operator ativa a criação de perfis sob demanda no GKE. Use a tabela a seguir para encontrar a versão correta do mldiagnostics-connection-operator:
| Versão do JAX | Versão do gráfico do Helm |
|---|---|
| 0.8.1-0.8.3 | 0.14.0 |
| 0.9.0 | 0.16.0 |
Use o Helm para instalar a versão necessária:
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
Rotular carga de trabalho
Para acionar o injection-webhook e injetar metadados em pods, você precisa
rotular a carga de trabalho ou o namespace dela com managed-mldiagnostics-gke=true
antes de implantar a carga de trabalho:
Adicionar um rótulo a uma carga de trabalho. Rotule uma carga de trabalho
Jobset,LWSouRayJob, o que vai ativar o webhook para essa carga de trabalho específica. Confira um exemplo de uma carga de trabalhoJobSet:apiVersion: jobset.x-k8s.io/v1alpha2 kind: JobSet metadata: name: single-host-tpu-v3-jobset2 namespace: default labels: managed-mldiagnostics-gke: "true"Rotule um namespace. Isso vai ativar o webhook para todas as cargas de trabalho
Jobset,LWSeRayJobnesse namespace.kubectl create namespace ai-workloads kubectl label namespace ai-workloads managed-mldiagnostics-gke=true