Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Installazione di HyperPod Ray Endpoint Operator
Il HyperPod Ray Endpoint Operator genera endpoint pubblici autenticati per i cluster Ray attivi. HyperPod Dopo l'installazione, è possibile accedere a Ray Dashboard in modo sicuro da qualsiasi luogo con accesso a Internet, inviare e monitorare i lavori e visualizzare i log e le metriche dei cluster senza configurarli. kubectl port-forward
Importante
Prima dell'installazione, consulta Le migliori pratiche di sicurezza per Ray Endpoint HyperPod Operator le linee guida su come proteggere la distribuzione.
Prerequisiti
-
Il componente aggiuntivo SageMaker Spaces è attivo con l'accesso al browser web abilitato. Il HyperPod Ray Endpoint Operator dipende da questo. Per ulteriori informazioni, consulta Configurazione del componente aggiuntivo Spaces.
-
kubectlehelminstallato, conkubectlconfigurazione per il tuo cluster. -
Il componente aggiuntivo Amazon EKS Pod Identity Agent è installato sul cluster (richiesto per la firma KMS). Per ulteriori informazioni, consulta Configurare l'EKS Pod Identity Agent nella Guida per l'utente di Amazon EKS.
Per informazioni generali sull'installazione degli operatori su HyperPod, consulta Installazione degli operatori.
Come funziona l'autenticazione
Il HyperPod Ray Endpoint Operator utilizza JSON Web Tokens (JWT) di breve durata per autenticare l'accesso alle dashboard del cluster Ray. Quando richiedi l'URL di un dashboard, l'operatore verifica la tua identità tramite il server API Amazon EKS, conferma che hai creato il cluster Ray e restituisce un URL prefirmato. Quando apri questo URL, l'operatore scambia il token con un cookie di sessione.
Il token e il cookie di sessione sono entrambi associati all'endpoint pubblico di un singolo cluster Ray. Non possono essere utilizzati per accedere ad altri cluster tramite il percorso autenticato del HyperPod Ray Endpoint Operator.
I JWT sono firmati con chiavi che ruotano ogni 30 minuti. Quando una AWS KMS chiave è configurata, il rotatore la utilizza AWS KMS per generare il materiale relativo alla chiave per la firma. Quando non è configurata alcuna AWS KMS chiave, il rotatore genera le chiavi di firma localmente. Ti consigliamo di configurare una AWS KMS chiave, poiché fornisce un meccanismo di revoca fuori banda e un CloudTrail audit trail per gli eventi di generazione delle chiavi.
Configura la firma KMS (scelta consigliata)
Il HyperPod Ray Endpoint Operator ruota le chiavi di firma ogni 30 minuti. Quando una AWS KMS chiave è configurata, il rotatore la utilizza per generare nuovo materiale per la chiave di firma. Ciò fornisce due funzionalità aggiuntive che non sono disponibili con le chiavi generate localmente:
-
È possibile disabilitare la AWS KMS chiave per revocare tutte le sessioni senza richiedere l'accesso al cluster.
-
CloudTrail registra ogni evento di generazione delle chiavi per il controllo.
Per configurare la firma KMS, completa i passaggi seguenti.
-
Crea una AWS KMS chiave. Per ulteriori informazioni, consultare Creazione di chiavi nella Guida per gli sviluppatori AWS KMS .
aws kms create-key \ --key-spec SYMMETRIC_DEFAULT \ --key-usage ENCRYPT_DECRYPT \ --description "HyperPod Ray Endpoint Operator JWT signing" -
Crea un ruolo IAM con la seguente politica di autorizzazioni minime. Per ulteriori informazioni, consulta Creazione di ruoli IAM nella Guida per l’utente IAM .
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "kms:GenerateDataKey", "Resource": "arn:aws:kms:region:account-id:key/key-id" } ] } -
Crea l'associazione Pod Identity. Per ulteriori informazioni, consulta Configurazione di un account di servizio Kubernetes per assumere un ruolo IAM con EKS Pod Identity nella Amazon EKS User Guide.
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
Installa Ray Endpoint Operator HyperPod
-
Clona il
sagemaker-hyperpod-clirepository e controlla l'ultimo tag di rilascio.git clone https://github.com/aws/sagemaker-hyperpod-cli.git cd sagemaker-hyperpod-cli git checkout $(git tag --sort=-v:refname | head -n 1) -
Installa con KMS-based firma (scelta consigliata).
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"Per l'installazione senza KMS (le chiavi di firma vengono generate 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|falseDove:
-
domainè il dominio Route 53 con cui è stato configurato il componente aggiuntivo SageMaker Spaces. -
manager.enableEndpointsByDefaultcontrolla se gli endpoint del dashboard autenticati vengono creati automaticamente per ogni risorsa Ray. Se impostata sutrue, tutte le risorse Ray (RayCluster,,RayJobRayService,RayCronJob) ottengono automaticamente gli endpoint; le singole risorse possono disattivarle aggiungendoleaccess.sagemaker.amazonaws.com/enabled: "false"alle proprie annotazioni sui metadati. Se impostato sufalse, non viene creato alcun endpoint a meno che una risorsa non lo accetti esplicitamente.access.sagemaker.amazonaws.com/enabled: "true"
-
-
Verificate che i pod operatori siano in esecuzione.
kubectl get pods -n hyperpod-ray
Genera un URL prefirmato
Dopo aver installato HyperPod Ray Endpoint Operator, genera un URL prefirmato per una dashboard del cluster Ray utilizzando la CLI: HyperPod
hyp create ray-dashboard-connection \ --cluster-nameray-cluster-name\ --namespacenamespace
Questo comando esegue l'autenticazione tramite il contesto kubeconfig corrente, verifica che tu sia il proprietario del cluster e restituisce un URL prefirmato di breve durata. Apri l'URL in un browser per accedere alla dashboard di Ray.
Nota
Per generare un URL prefirmato, il tuo account utente o servizio Kubernetes deve disporre dell'autorizzazione per create RayDashboardConnection le risorse del gruppo API. connection.access.sagemaker.amazonaws.com
Per l'invio programmatico dei lavori, utilizza la libreria Python https://pypi.org/project/toolkit-for-ray-on-sagemaker-ai/sagemaker_ray://
ray job submit --address "sagemaker_ray://cluster-name/namespace" -- python train.py
sagemaker_ray://Lo schema di indirizzi gestisce l'autenticazione senza esporre un URL nell'output o nei log del terminale.
Disinstallazione
helm uninstall hyperpod-ray-endpoint-operator -n hyperpod-ray
Fasi successive
Dopo l'installazione, consulta le best practice Le migliori pratiche di sicurezza per Ray Endpoint HyperPod Operator per la protezione dell'accesso all'interno del cluster, la gestione delle sessioni e il controllo dell'utilizzo del dashboard.