As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Instalando o HyperPod Ray Endpoint Operator
O HyperPod Ray Endpoint Operator gera endpoints públicos autenticados para clusters Ray em. HyperPod Após a instalação, você pode acessar o Ray Dashboard com segurança de qualquer lugar com acesso à Internet, enviar e monitorar trabalhos e visualizar registros e métricas de cluster sem configurarkubectl port-forward.
Importante
Antes de instalar, consulte Melhores práticas de segurança para o HyperPod Ray Endpoint Operator as orientações sobre como proteger sua implantação.
Pré-requisitos
-
O complemento SageMaker Spaces está ativo com o acesso ao navegador ativado. O HyperPod Ray Endpoint Operator depende disso. Para obter mais informações, consulte Configurando o complemento Spaces.
-
kubectlehelminstalado, com akubectlconfiguração para seu cluster. -
O complemento Amazon EKS Pod Identity Agent está instalado em seu cluster (necessário para assinatura KMS). Para obter mais informações, consulte Configurar o EKS Pod Identity Agent no Guia do usuário do Amazon EKS.
Para obter informações gerais sobre a instalação de operadores em HyperPod, consulte Instalando operadores.
Como funciona a autenticação
O HyperPod Ray Endpoint Operator usa JSON Web Tokens (JWTs) de curta duração para autenticar o acesso aos painéis do cluster Ray. Quando você solicita uma URL de painel, o operador verifica sua identidade por meio do servidor de API do Amazon EKS, confirma que você criou o cluster Ray e retorna uma URL pré-assinada. Quando você abre esse URL, o operador troca o token por um cookie de sessão.
O token e o cookie de sessão têm como escopo o endpoint público de um único cluster Ray. Eles não podem ser usados para acessar outros clusters por meio do caminho autenticado do HyperPod Ray Endpoint Operator.
Os JWTs são assinados com chaves que giram a cada 30 minutos. Quando uma AWS KMS chave é configurada, o rotador usa AWS KMS para gerar material de chave de assinatura. Quando nenhuma AWS KMS chave está configurada, o rotador gera chaves de assinatura localmente. Recomendamos que você configure uma AWS KMS chave, pois ela fornece um mecanismo de revogação fora de banda e uma trilha de CloudTrail auditoria para eventos de geração de chaves.
Configurar a assinatura KMS (recomendado)
O HyperPod Ray Endpoint Operator gira as chaves de assinatura a cada 30 minutos. Quando uma AWS KMS chave é configurada, o rotador a usa para gerar um novo material de chave de assinatura. Isso fornece dois recursos adicionais que não estão disponíveis com chaves geradas localmente:
-
Você pode desativar a AWS KMS chave para revogar todas as sessões sem precisar de acesso ao cluster.
-
CloudTrail registra cada evento de geração de chaves para auditoria.
Para configurar a assinatura KMS, conclua as etapas a seguir.
-
Crie uma AWS KMS chave. Para obter mais informações, consulte Criação de chaves Guia do desenvolvedor do AWS KMS .
aws kms create-key \ --key-spec SYMMETRIC_DEFAULT \ --key-usage ENCRYPT_DECRYPT \ --description "HyperPod Ray Endpoint Operator JWT signing" -
Crie uma função do IAM com a seguinte política de permissões mínimas. Para obter mais informações, consulte Criar perfis do IAM no Guia do usuário do IAM.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "kms:GenerateDataKey", "Resource": "arn:aws:kms:region:account-id:key/key-id" } ] } -
Crie a associação de Identidade de Pods. Para obter mais informações, consulte Configurar uma conta de serviço do Kubernetes para assumir uma função do IAM com o EKS Pod Identity no Guia do usuário do Amazon EKS.
aws eks create-pod-identity-association \ --cluster-nameeks-cluster-name\ --namespace hyperpod-ray \ --service-account hyperpod-ray-endpoint-operator-jwt-rotator \ --role-arn arn:aws:iam::account-id:role/role-name
Instale o HyperPod Ray Endpoint Operator
-
Clone o
sagemaker-hyperpod-clirepositório e confira a tag de lançamento mais recente.git clone https://github.com/aws/sagemaker-hyperpod-cli.git cd sagemaker-hyperpod-cli git checkout $(git tag --sort=-v:refname | head -n 1) -
Instale com KMS-based assinatura (recomendado).
helm upgrade --install hyperpod-ray-endpoint-operator \ ./helm_chart/HyperPodHelmChart/charts/hyperpod-ray-endpoint-operator \ --namespace hyperpod-ray \ --create-namespace \ --set region=region\ --set domain=your-route53-domain\ --set manager.enableEndpointsByDefault=true|false\ --set kmsKeyArn="arn:aws:kms:region:account-id:key/key-id"Para instalar sem KMS (as chaves de assinatura são geradas localmente):
helm upgrade --install hyperpod-ray-endpoint-operator \ ./helm_chart/HyperPodHelmChart/charts/hyperpod-ray-endpoint-operator \ --namespace hyperpod-ray \ --create-namespace \ --set region=region\ --set domain=your-route53-domain\ --set manager.enableEndpointsByDefault=true|falseEm que:
-
domainé o domínio do Route 53 com o qual o complemento SageMaker Spaces foi configurado. -
manager.enableEndpointsByDefaultcontrola se os endpoints autenticados do painel são criados automaticamente para cada recurso do Ray. Quando definido comotrue, todos os recursos do Ray (RayClusterRayJob,RayService,,RayCronJob) recebem endpoints automaticamente; recursos individuais podem optar por não participar adicionandoaccess.sagemaker.amazonaws.com/enabled: "false"anotações aos metadados. Quando definido comofalse, nenhum endpoint é criado, a menos que um recurso opte explicitamente por.access.sagemaker.amazonaws.com/enabled: "true"
-
-
Confirme se os pods do operador estão funcionando.
kubectl get pods -n hyperpod-ray
Gere um URL pré-assinado
Depois de instalar o HyperPod Ray Endpoint Operator, gere uma URL pré-assinada para um painel de cluster Ray usando a HyperPod CLI:
hyp create ray-dashboard-connection \ --cluster-nameray-cluster-name\ --namespacenamespace
Esse comando é autenticado por meio do contexto atual do kubeconfig, verifica se você é o proprietário do cluster e retorna uma URL pré-assinada de curta duração. Abra o URL em um navegador para acessar o painel do Ray.
nota
Para gerar uma URL pré-assinada, sua conta de usuário ou serviço do Kubernetes precisa ter permissão para acessar create RayDashboardConnection recursos no grupo de APIs. connection.access.sagemaker.amazonaws.com
Para envio programático de trabalhos, use a biblioteca Python toolkit-for-ray-on-sagemaker-ai no site do sagemaker_ray://
ray job submit --address "sagemaker_ray://cluster-name/namespace" -- python train.py
O esquema sagemaker_ray:// de endereço gerencia a autenticação sem expor um URL na saída ou nos registros do terminal.
Desinstalação
helm uninstall hyperpod-ray-endpoint-operator -n hyperpod-ray
Próximas etapas
Após a instalação, analise as melhores práticas Melhores práticas de segurança para o HyperPod Ray Endpoint Operator para proteger o acesso no cluster, gerenciar sessões e auditar o uso do painel.