Este documento fornece instruções para configurar um cluster do Ray na Gemini Enterprise Agent Platform para atender a várias necessidades. Por exemplo, para criar sua imagem, consulte Imagem personalizada. Algumas empresas podem usar redes particulares. Este documento aborda a interface do Private Service Connect para Ray na Gemini Enterprise Agent Platform. Outro caso de uso envolve o acesso a arquivos remotos como se fossem locais (consulte Ray no sistema de arquivos de rede da plataforma de agentes).
Visão geral
Os tópicos abordados aqui incluem:
- criar um cluster do Ray na Gemini Enterprise Agent Platform
- gerenciar o ciclo de vida de um cluster do Ray
- criar uma imagem personalizada
- configurar a conectividade pública e privada (VPC)
- usando a interface do Private Service Connect para o Ray na Agent Platform
- configurar o sistema de arquivos de rede (NFS) do Ray na Agent Platform
- configurar um painel do Ray e um shell interativo com VPC-SC + peering de VPC
Criar um cluster do Ray
É possível usar o console do Google Cloud ou o SDK da Agent Platform para Python para criar um cluster do Ray. Um cluster pode ter até 2.000 nós. Há um limite superior de 1.000 nós em um pool de workers. Não há limite para o número de pools de workers, mas um grande número de pools de workers, como 1.000 pools de workers com um nó cada, pode afetar negativamente o desempenho do cluster.
Antes de começar, leia a Visão geral do Ray na Gemini Enterprise Agent Platform e configure todas as ferramentas necessárias como pré-requisito.
Depois de criado, um cluster do Ray na Agent Platform pode levar de 10 a 20 minutos para ser iniciado.
Console
De acordo com as Práticas recomendadas do OSS Ray a configuração da contagem lógica de CPU como 0 no nó principal do Ray é aplicada para para evitar a execução de cargas de trabalho no nó principal.
No console do Google Cloud , acesse a página do Ray na Agent Platform.
Clique em Criar cluster para abrir o painel Criar cluster.
Para cada etapa no painel Criar cluster, revise ou substitua as informações do cluster padrão. Clique em Continuar para concluir cada etapa:
Em Nome e região, especifique um Nome e escolha um Local para o cluster.
Em Configurações de computação, especifique a configuração do cluster do Ray no nó principal da Gemini Enterprise Agent Platform, incluindo tipo de máquina, tipo e contagem do acelerador, tipo e tamanho de disco e contagem de réplicas. Também é possível adicionar um URI de imagem personalizada para especificar uma imagem de contêiner personalizada e adicionar dependências do Python não fornecidas pela imagem de contêiner padrão. Consulte Imagem personalizada.
Em Opções avançadas, é possível fazer o seguinte:
- Especifique sua própria chave de criptografia.
- Especifique uma conta de serviço personalizada.
- Desative a coleta de métricas se você não precisar monitorar as estatísticas de recursos da sua carga de trabalho durante o treinamento.
(Opcional) Para implantar um endpoint particular no cluster, o método recomendado é usar o Private Service Connect. Para mais detalhes, consulte Interface do Private Service Connect para Ray na plataforma de agentes.
Clique em Criar.
Ray no SDK da Agent Platform
De acordo com as Práticas recomendadas do OSS Ray a configuração da contagem lógica de CPU como 0 no nó principal do Ray é aplicada para para evitar a execução de cargas de trabalho no nó principal.
Em um ambiente Python interativo, use o comando a seguir para criar o cluster do Ray na Gemini Enterprise Agent Platform:
import ray import vertex_ray from google.cloud import aiplatform from vertex_ray import Resources from vertex_ray.util.resources import NfsMount # Define a default CPU cluster, machine_type is n1-standard-16, 1 head node and 1 worker node head_node_type = Resources() worker_node_types = [Resources()] # Or define a GPU cluster. head_node_type = Resources( machine_type="n1-standard-16", node_count=1, custom_image="us-docker.pkg.dev/my-project/ray-custom.2-9.py310:latest", # Optional. When not specified, a prebuilt image is used. ) worker_node_types = [Resources( machine_type="n1-standard-16", node_count=2, # Must be >= 1 accelerator_type="NVIDIA_TESLA_T4", accelerator_count=1, custom_image="us-docker.pkg.dev/my-project/ray-custom.2-9.py310:latest", # When not specified, a prebuilt image is used. )] # Optional. Create cluster with Network File System (NFS) setup. nfs_mount = NfsMount( server="10.10.10.10", path="nfs_path", mount_point="nfs_mount_point", ) aiplatform.init() # Initialize Agent Platform to retrieve projects for downstream operations. # Create the Ray cluster on Agent Platform CLUSTER_RESOURCE_NAME = vertex_ray.create_ray_cluster( head_node_type=head_node_type, network=NETWORK, #Optional worker_node_types=worker_node_types, python_version="3.10", # Optional ray_version="2.47", # Optional cluster_name=CLUSTER_NAME, # Optional service_account=SERVICE_ACCOUNT, # Optional enable_metrics_collection=True, # Optional. Enable metrics collection for monitoring. labels=LABELS, # Optional. nfs_mounts=[nfs_mount], # Optional. )
Em que:
CLUSTER_NAME: um nome para o cluster do Ray na Gemini Enterprise Agent Platform que precisa ser exclusivo em todo o projeto.
NETWORK: (opcional) o nome completo da rede VPC, no formato
projects/PROJECT_ID/global/networks/VPC_NAME. Para definir um endpoint particular em vez de um endpoint público para o cluster, especifique uma rede VPC para usar com o Ray na Agent Platform. Para mais informações, consulte Conectividade particular e pública.VPC_NAME: opcional: a VPC em que a VM opera.
PROJECT_ID: o ID do projeto do Google Cloud . Você encontra o ID do projeto na página de boas-vindas do console do Google Cloud .
SERVICE_ACCOUNT: (opcional) a conta de serviço para executar aplicativos do Ray no cluster. Conceda os papéis necessários.
LABELS: (opcional) os rótulos com metadados definidos pelo usuário usados para organizar clusters do Ray. As chaves e os valores de rótulo não podem ter mais de 64 caracteres (pontos de código Unicode) e podem conter apenas letras minúsculas, caracteres numéricos, sublinhados e traços. Caracteres internacionais são permitidos. Consulte https://goo.gl/xmQnxf para mais informações e exemplos de rótulos.
Você verá a seguinte saída até que o status mude para RUNNING:
none
[Ray on Agent Platform]: Cluster State = State.PROVISIONING
Waiting for cluster provisioning; attempt 1; sleeping for 0:02:30 seconds
...
[Ray on Agent Platform]: Cluster State = State.RUNNING
Observe o seguinte:
O primeiro nó é o nó principal.
Os tipos de máquina da TPU não são compatíveis.
Gerenciamento do ciclo de vida
Durante o ciclo de vida de um cluster do Ray na Gemini Enterprise Agent Platform, cada ação é associada a um estado. A tabela a seguir resume o status de faturamento e a opção de gerenciamento de cada estado. A documentação de referência fornece uma definição para cada um desses estados.
| Ação | Estado | Faturado? | Ação de exclusão disponível? | Ação de cancelamento disponível? |
|---|---|---|---|---|
| O usuário cria um cluster | PROVISIONANDO | Não | Não | Não |
| O usuário aumenta ou reduz manualmente | ATUALIZANDO | Sim, de acordo com o tamanho em tempo real | Sim | Não |
| O cluster executa | EM EXECUÇÃO | Sim | Sim | Não relevante: você pode excluir |
| O cluster faz o escalonamento vertical ou reduz a escala vertical | ATUALIZANDO | Sim, de acordo com o tamanho em tempo real | Sim | Não |
| O usuário exclui o cluster | INTERROMPENDO | Não | Não | Não relevante: já está parando |
| O cluster entra em um estado de erro | ERRO | Não | Sim | Não relevante: você pode excluir |
| Não relevante | STATE_UNSPECIFIED | Não | Sim | Não relevante |
Imagem personalizada (opcional)
As imagens pré-criadas se alinham com a maioria dos casos de uso. Para criar sua imagem, use as imagens pré-criadas do Ray na Gemini Enterprise Agent Platform como imagem de base. Consulte a documentação do Docker para saber como criar imagens a partir de uma imagem base.
Essas imagens de base incluem uma instalação do Python, Ubuntu e Ray. Elas também incluem dependências como:
- python-json-logger
- google-cloud-resource-manager
- ca-certificates-java
- libatlas-base-dev
- liblapack-dev
- g++, libio-all-perl
- libyaml-0-2.
Conectividade privada e pública
Por padrão, o Ray na Agent Platform cria um endpoint público e seguro para desenvolvimento interativo com o Ray Client nos clusters do Ray na Gemini Enterprise Agent Platform. Use a conectividade pública para casos de uso temporários ou de desenvolvimento. Esse endpoint público é acessível pela Internet. Somente usuários autorizados que têm, no mínimo, permissões de função do usuário da Gemini Enterprise Agent Platform no projeto de usuário do cluster do Ray podem acessar o cluster.
Se você precisar de uma conexão particular com o cluster ou usar o VPC Service Controls, o peering de VPC será compatível com clusters do Ray na Gemini Enterprise Agent Platform. Clusters com um endpoint particular só são acessíveis a partir de um cliente dentro de uma rede VPC que faz peering com a Gemini Enterprise Agent Platform.
Para configurar a conectividade particular com o peering de VPC para Ray na Agent Platform, selecione uma rede VPC ao criar o cluster. A rede VPC requer uma Private Service Connect entre sua rede VPC e a Gemini Enterprise Agent Platform. Se você usa o Ray na Plataforma de Agentes no console, é possível configurar a conexão de acesso a serviços particulares ao criar o cluster.
Se você quiser usar o VPC Service Controls e o peering de VPC com clusters do Ray na Agent Platform, será necessário fazer uma configuração extra para usar o painel do Ray e o shell interativo. Siga as instruções em Shell interativo e painel do Ray com VPC-SC + peering de VPC para configurar o shell interativo com VPC-SC e peering de VPC no seu projeto de usuário.
Depois de criar o cluster do Ray na Gemini Enterprise Agent Platform, conecte-se ao nó principal usando o SDK da Agent Platform para Python. O ambiente de conexão, como uma VM do Compute Engine ou uma instância do Vertex AI Workbench, precisa estar na rede VPC que faz peering com a Gemini Enterprise Agent Platform. Observe que uma conexão de serviços privados tem um número limitado de endereços IP, o que pode resultar no esgotamento dos endereços IP. Portanto, recomendamos o uso de conexões particulares para clusters de longa duração.
Interface do Private Service Connect para Ray na Gemini Enterprise Agent Platform
A saída e a entrada da interface do Private Service Connect são compatíveis com clusters do Ray na Gemini Enterprise Agent Platform.
Para usar a saída da interface do Private Service Connect, siga as instruções na seção a seguir. Se o VPC Service Controls não estiver ativado, os clusters com saída de interface do Private Service Connect vão usar o endpoint público seguro para entrada com o cliente Ray.
Se o VPC Service Controls estiver ativado, a entrada da interface do Private Service Connect será usada por padrão com a saída da interface do Private Service Connect. Para se conectar ao cliente do Ray ou enviar jobs de um notebook para um cluster com entrada de interface do Private Service Connect, verifique se o notebook está na VPC e na sub-rede do projeto do usuário. Para mais detalhes sobre como configurar o VPC Service Controls, consulte VPC Service Controls com a Gemini Enterprise Agent Platform.

Ativar a interface do Private Service Connect
Siga o guia Como configurar seus recursos para configurar a interface do Private Service Connect. Depois de configurar os recursos, você poderá ativar a interface do Private Service Connect no cluster do Ray na Gemini Enterprise Agent Platform.
Console
Ao criar o cluster e depois de especificar Nome e região e Configurações de computação, a opção Rede é exibida.

Configure um anexo de rede seguindo um destes procedimentos:
- Use o nome de NETWORK_ATTACHMENT_NAME que você especificou ao configurar os recursos para o Private Service Connect.
- Crie um anexo de rede clicando no botão Criar anexo de rede que aparece no menu suspenso.

Clique em Criar anexo de rede.
Na subtarefa que aparece, especifique um nome, uma rede e uma sub-rede para o novo anexo de rede.

Clique em Criar.
Ray no SDK da Agent Platform
O SDK do Ray na Agent Platform faz parte do SDK da Agent Platform para Python. Para saber como instalar ou atualizar o SDK da Agent Platform para Python, consulte Instalar o SDK da Agent Platform para Python. Para mais informações, consulte a documentação de referência da API Python do SDK da plataforma de agentes.
from google.cloud import aiplatform import vertex_ray # Initialization aiplatform.init() # Create a default cluster with network attachment configuration psc_config = vertex_ray.PscIConfig(network_attachment=NETWORK_ATTACHMENT_NAME) cluster_resource_name = vertex_ray.create_ray_cluster( psc_interface_config=psc_config, )
Em que:
- NETWORK_ATTACHMENT_NAME: o nome que você especificou ao configurar os recursos do Private Service Connect no projeto de usuário.
Sistema de arquivos de rede (NFS) do Ray na Agent Platform
Para disponibilizar arquivos remotos para o cluster, monte compartilhamentos do sistema de arquivos de rede (NFS). Assim, os jobs podem acessar arquivos remotos como se fossem locais, o que permite alta capacidade de processamento e baixa latência.
Configuração da VPC
Há duas opções para configurar a VPC:
- Crie um anexo de rede da interface do Private Service Connect. (Recomendado)
- Configurar o peering de rede VPC.
Configurar a instância do NFS
Para mais detalhes sobre como criar uma instância do Filestore, consulte Criar uma instância. Se você usar o método de interface do Private Service Connect, não será necessário selecionar o modo de acesso a serviços particulares ao criar o Filestore.
Usar o sistema de arquivos de rede (NFS)
Para usar o sistema de arquivos de rede, especifique uma rede ou um anexo de rede (recomendado).
Console
Na etapa "Rede" da página de criação, depois de especificar uma rede ou um anexo de rede. Para fazer isso, clique em Adicionar montagem NFS na seção Sistema de arquivos de rede (NFS) e especifique uma montagem NFS (servidor, caminho e ponto de montagem).
Campo Descrição serverO endereço IP do servidor NFS. Precisa ser um endereço privado na sua VPC. pathO caminho de compartilhamento do NFS. Precisa ser um caminho absoluto que comece com /.mountPointO ponto de montagem local. Precisa ser um nome de diretório UNIX válido. Por exemplo, se o ponto de montagem local for sourceData, especifique o caminho/mnt/nfs/ sourceDatada instância de VM de treinamento.Para mais informações, consulte Onde especificar recursos de computação.
Especifique um servidor, um caminho e um ponto de montagem.

Clique em Criar. Isso cria o cluster do Ray.
Shell interativo e painel do Ray com VPC-SC + peering de VPC
-
Configure
peered-dns-domains.{ VPC_NAME=NETWORK_NAME REGION=LOCATION gcloud services peered-dns-domains create training-cloud \ --network=$VPC_NAME \ --dns-suffix=$REGION.aiplatform-training.cloud.google.com. # Verify gcloud beta services peered-dns-domains list --network $VPC_NAME; }
-
NETWORK_NAME: mudar para a rede com peering.
-
LOCATION: o local desejado (por exemplo,
us-central1).
-
-
Configure
DNS managed zone.{ PROJECT_ID=PROJECT_ID ZONE_NAME=$PROJECT_ID-aiplatform-training-cloud-google-com DNS_NAME=aiplatform-training.cloud.google.com DESCRIPTION=aiplatform-training.cloud.google.com gcloud dns managed-zones create $ZONE_NAME \ --visibility=private \ --networks=https://www.googleapis.com/compute/v1/projects/$PROJECT_ID/global/networks/$VPC_NAME \ --dns-name=$DNS_NAME \ --description="Training $DESCRIPTION" }
-
PROJECT_ID: o ID do projeto. Esses IDs estão na página de boas-vindas do console do Google Cloud .
-
-
Registro de transação DNS.
{ gcloud dns record-sets transaction start --zone=$ZONE_NAME gcloud dns record-sets transaction add \ --name=$DNS_NAME. \ --type=A 199.36.153.4 199.36.153.5 199.36.153.6 199.36.153.7 \ --zone=$ZONE_NAME \ --ttl=300 gcloud dns record-sets transaction add \ --name=*.$DNS_NAME. \ --type=CNAME $DNS_NAME. \ --zone=$ZONE_NAME \ --ttl=300 gcloud dns record-sets transaction execute --zone=$ZONE_NAME }
-
Envie um job de treinamento com o shell interativo + VPC-SC + peering de VPC ativado.
Responsabilidade compartilhada
Proteger suas cargas de trabalho na Gemini Enterprise Agent Platform é uma responsabilidade compartilhada. Embora a Gemini Enterprise Agent Platform atualize regularmente as configurações de infraestrutura para lidar com vulnerabilidades de segurança, ela não atualiza automaticamente os clusters do Ray na Gemini Enterprise Agent Platform e os recursos persistentes para evitar a interrupção de cargas de trabalho em execução. Portanto, você é responsável por tarefas como as seguintes:
- Exclua e recrie periodicamente os clusters do Ray na Gemini Enterprise Agent Platform e os recursos permanentes para usar as versões mais recentes da infraestrutura. A Gemini Enterprise Agent Platform recomenda recriar seus clusters e recursos permanentes pelo menos uma vez a cada 30 dias.
- Configure corretamente as imagens personalizadas que você usa.
Para mais informações, consulte Responsabilidade compartilhada.