Distribuzione di un JEG pod in un gruppo di nodi - Amazon EMR

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à.

Distribuzione di un JEG pod in un gruppo di nodi

JEGIl posizionamento dei pod (Jupyter Enterprise Gateway) è una funzionalità che consente di implementare un endpoint interattivo su un gruppo di nodi specifico. Con questa funzionalità, puoi configurare impostazioni come instance type per l'endpoint interattivo.

Associazione di un pod a un gruppo di nodi gestito JEG

La seguente proprietà di configurazione consente di specificare il nome di un gruppo di nodi gestiti sul EKS cluster Amazon in cui verrà distribuito il JEG pod.

//payload --configuration-overrides '{ "applicationConfiguration": [ { "classification": "endpoint-configuration", "properties": { "managed-nodegroup-name": NodeGroupName } } ] }'

Un gruppo di nodi deve presentare l'etichetta Kubernetes for-use-with-emr-containers-managed-endpoint-ng=NodeGroupName collegata a tutti i nodi che fanno parte del gruppo. Per elencare tutti i nodi di un gruppo di nodi che dispongono di tale tag, utilizza il comando seguente:

kubectl get nodes --show-labels | grep for-use-with-emr-containers-managed-endpoint-ng=NodeGroupName

Se l'output del comando precedente non restituisce nodi che fanno parte del gruppo di nodi gestito, non ci sono nodi nel gruppo di nodi a cui è collegata l'etichetta Kubernetes for-use-with-emr-containers-managed-endpoint-ng=NodeGroupName. In questo caso, segui le fasi seguenti per collegare l'etichetta ai nodi del tuo gruppo di nodi.

  1. Utilizza il comando seguente per aggiungere l'etichetta Kubernetes for-use-with-emr-containers-managed-endpoint-ng=NodeGroupName a tutti i nodi in un gruppo di nodi gestito NodeGroupName:

    kubectl label nodes --selector eks:nodegroup-name=NodeGroupName for-use-with-emr-containers-managed-endpoint-ng=NodeGroupName
  2. Verifica che i nodi siano stati etichettati correttamente utilizzando il comando seguente:

    kubectl get nodes --show-labels | grep for-use-with-emr-containers-managed-endpoint-ng=NodeGroupName

Un gruppo di nodi gestiti deve essere associato al gruppo di sicurezza di un EKS cluster Amazon, come di solito accade se hai creato il cluster e il gruppo di nodi gestiti utilizzandoeksctl. Puoi verificarlo nella AWS console utilizzando i seguenti passaggi.

  1. Accedi al tuo cluster nella EKS console Amazon.

  2. Apri la scheda di rete del cluster e annota il gruppo di sicurezza del cluster.

  3. Apri la scheda di calcolo del cluster e fai clic sul nome del gruppo di nodi gestito.

  4. Nella scheda Dettagli del gruppo di nodi gestito, verifica che il gruppo di sicurezza del cluster che hai annotato in precedenza sia elencato in Gruppi di sicurezza.

Se il gruppo di nodi gestiti non è collegato al gruppo di sicurezza del EKS cluster Amazon, devi allegare il for-use-with-emr-containers-managed-endpoint-sg=ClusterName/NodeGroupName tag al gruppo di sicurezza del gruppo di nodi. Utilizza le fasi seguenti per allegare il suddetto tag.

  1. Vai alla EC2 console Amazon e fai clic sui gruppi di sicurezza nel riquadro di navigazione a sinistra.

  2. Seleziona il gruppo di sicurezza del gruppo di nodi gestito facendo clic sulla casella di spunta.

  3. Nella scheda Tag, aggiungi il tag for-use-with-emr-containers-managed-endpoint-sg=ClusterName/NodeGroupName utilizzando il pulsante Gestisci tag.

Associazione di un JEG pod a un gruppo di nodi autogestito

La seguente proprietà di configurazione consente di specificare il nome di un gruppo di nodi autogestito o non gestito sul EKS cluster Amazon in cui verrà distribuito il JEG pod.

//payload --configuration-overrides '{ "applicationConfiguration": [ { "classification": "endpoint-configuration", "properties": { "self-managed-nodegroup-name": NodeGroupName } } ] }'

Il gruppo di nodi deve presentare l'etichetta Kubernetes for-use-with-emr-containers-managed-endpoint-ng=NodeGroupName collegata a tutti i nodi che fanno parte del gruppo. Per elencare tutti i nodi di un gruppo di nodi che dispongono di tale tag, utilizza il comando seguente:

kubectl get nodes --show-labels | grep for-use-with-emr-containers-managed-endpoint-ng=NodeGroupName

Se l'output del comando precedente non restituisce nodi che fanno parte del gruppo di nodi autogestito, non ci sono nodi nel gruppo di nodi a cui è collegata l'etichetta Kubernetes for-use-with-emr-containers-managed-endpoint-ng=NodeGroupName. In questo caso, segui le fasi seguenti per collegare l'etichetta ai nodi del tuo gruppo di nodi.

  1. Se hai creato il gruppo di nodi autogestito con eksctl, utilizza il comando seguente per aggiungere l'etichetta Kubernetes for-use-with-emr-containers-managed-endpoint-ng=NodeGroupName a tutti i nodi del gruppo di nodi autogestito NodeGroupName in un solo passaggio.

    kubectl label nodes --selector alpha.eksctl.io/nodegroup-name=NodeGroupName for-use-with-emr-containers-managed-endpoint-ng=NodeGroupName

    Se non hai utilizzato eksctl per creare il gruppo di nodi autogestito, dovrai sostituire il selettore nel comando precedente con un'etichetta Kubernetes diversa collegata a tutti i nodi del gruppo di nodi.

  2. Utilizza il comando seguente per verificare che i nodi siano stati etichettati correttamente:

    kubectl get nodes --show-labels | grep for-use-with-emr-containers-managed-endpoint-ng=NodeGroupName

Al gruppo di sicurezza del gruppo di nodi autogestito deve essere allegato il tag for-use-with-emr-containers-managed-endpoint-sg=ClusterName/NodeGroupName. Utilizza le fasi seguenti per allegare il tag al gruppo di sicurezza dalla AWS Management Console.

  1. Accedi alla EC2 console Amazon. Seleziona Gruppi di sicurezza nel riquadro di navigazione a sinistra.

  2. Seleziona la casella di spunta accanto al gruppo di sicurezza per il tuo gruppo di nodi autogestito.

  3. Nella scheda Tag, utilizza il pulsante Gestisci tag per aggiungere il tag for-use-with-emr-containers-managed-endpoint-sg=ClusterName/NodeGroupName. Sostituisci ClusterName e NodeGroupName con i valori appropriati.

Associazione di un JEG pod a un gruppo di nodi gestito con istanze On-Demand

Puoi anche definire etichette aggiuntive, note come selettori di etichette Kubernetes, per specificare ulteriori vincoli o restrizioni all'esecuzione di un endpoint interattivo su un determinato nodo o gruppo di nodi. L'esempio seguente mostra come utilizzare le EC2 istanze Amazon On-Demand per un JEG pod.

--configuration-overrides '{ "applicationConfiguration": [ { "classification": "endpoint-configuration", "properties": { "managed-nodegroup-name": NodeGroupName, "node-labels": "eks.amazonaws.com/capacityType:ON_DEMAND" } } ] }'
Nota

Puoi utilizzare la proprietà node-labels solo con una proprietà managed-nodegroup-name o self-managed-nodegroup-name.