Déploiement d'un JEG pod sur un groupe de nœuds - Amazon EMR

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Déploiement d'un JEG pod sur un groupe de nœuds

JEGLe placement du pod (Jupyter Enterprise Gateway) est une fonctionnalité qui vous permet de déployer un point de terminaison interactif sur un groupe de nœuds spécifique. Grâce à cette fonctionnalité, vous pouvez configurer des paramètres tels que instance type pour le point de terminaison interactif.

Associer un JEG pod à un groupe de nœuds géré

La propriété de configuration suivante vous permet de spécifier le nom d'un groupe de nœuds gérés sur votre EKS cluster Amazon où le JEG pod sera déployé.

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

Le groupe de nœuds doit avoir l'étiquette Kubernetes for-use-with-emr-containers-managed-endpoint-ng=NodeGroupName attachée à tous les nœuds qui font partie du groupe de nœuds. Pour répertorier tous les nœuds d'un groupe de nœuds dotés de cette balise, utilisez la commande suivante :

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

Si le résultat de la commande ci-dessus ne renvoie pas de nœuds faisant partie de votre groupe de nœuds géré, cela signifie qu'aucun nœud du groupe de nœuds n'a l'étiquette Kubernetes for-use-with-emr-containers-managed-endpoint-ng=NodeGroupName attachée. Dans ce cas, suivez les étapes ci-dessous pour attacher cette étiquette aux nœuds de votre groupe de nœuds.

  1. Utilisez la commande suivante pour ajouter l'étiquette Kubernetes for-use-with-emr-containers-managed-endpoint-ng=NodeGroupName à tous les nœuds d'un groupe de nœuds géré NodeGroupName :

    kubectl label nodes --selector eks:nodegroup-name=NodeGroupName for-use-with-emr-containers-managed-endpoint-ng=NodeGroupName
  2. Vérifiez que les nœuds ont été correctement étiquetés à l'aide de la commande suivante :

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

Un groupe de nœuds gérés doit être associé au groupe de sécurité d'un EKS cluster Amazon, ce qui est généralement le cas si vous avez créé votre cluster et votre groupe de nœuds gérés à l'aide deeksctl. Vous pouvez le vérifier dans la AWS console en procédant comme suit.

  1. Accédez à votre cluster dans la EKS console Amazon.

  2. Allez dans l'onglet de mise en réseau de votre cluster et notez le groupe de sécurité du cluster.

  3. Accédez à l'onglet de calcul de votre cluster et cliquez sur le nom du groupe de nœuds géré.

  4. Dans l'onglet Détails du groupe de nœuds géré, vérifiez que le groupe de sécurité du cluster que vous avez noté précédemment est répertorié sous Groupes de sécurité.

Si le groupe de nœuds gérés n'est pas attaché au groupe de sécurité du EKS cluster Amazon, vous devez associer la for-use-with-emr-containers-managed-endpoint-sg=ClusterName/NodeGroupName balise au groupe de sécurité du groupe de nœuds. Suivez les étapes ci-dessous pour attacher cette étiquette.

  1. Accédez à la EC2 console Amazon et cliquez sur les groupes de sécurité dans le volet de navigation de gauche.

  2. Sélectionnez le groupe de sécurité de votre groupe de nœuds géré en cochant la case.

  3. Sous l'onglet Balises, ajoutez la balise for-use-with-emr-containers-managed-endpoint-sg=ClusterName/NodeGroupName à l'aide du bouton Gérer les balises.

Associer un JEG pod à un groupe de nœuds autogéré

La propriété de configuration suivante vous permet de spécifier le nom d'un groupe de nœuds autogéré ou non géré sur le EKS cluster Amazon où le JEG pod sera déployé.

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

Le groupe de nœuds doit avoir l'étiquette Kubernetes for-use-with-emr-containers-managed-endpoint-ng=NodeGroupName attachée à tous les nœuds qui font partie du groupe de nœuds. Pour répertorier tous les nœuds d'un groupe de nœuds dotés de cette balise, utilisez la commande suivante :

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

Si le résultat de la commande ci-dessus ne renvoie pas de nœuds faisant partie de votre groupe de nœuds autogéré, cela signifie qu'aucun nœud du groupe de nœuds n'a l'étiquette Kubernetes for-use-with-emr-containers-managed-endpoint-ng=NodeGroupName attachée. Dans ce cas, suivez les étapes ci-dessous pour attacher cette étiquette aux nœuds de votre groupe de nœuds.

  1. Si vous avez créé le groupe de nœuds autogéré à l'aide de l'outil eksctl, utilisez la commande suivante pour ajouter l'étiquette Kubernetes for-use-with-emr-containers-managed-endpoint-ng=NodeGroupName à tous les nœuds du groupe de nœuds autogéré NodeGroupName en une seule fois.

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

    Si vous n'avez pas utilisé eksctl pour créer le groupe de nœuds autogéré, vous devrez remplacer le sélecteur dans la commande ci-dessus par une étiquette Kubernetes différente qui est attachée à tous les nœuds du groupe de nœuds.

  2. Utilisez la commande suivante pour vérifier que les nœuds ont été étiquetés correctement :

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

Le groupe de sécurité du groupe de nœuds autogérés doit avoir la balise for-use-with-emr-containers-managed-endpoint-sg=ClusterName/NodeGroupName attachée. Procédez comme suit pour attacher la balise au groupe de sécurité à partir de la AWS Management Console.

  1. Accédez à la EC2 console Amazon. Dans le volet de navigation de gauche, sélectionnez Groupes de sécurité.

  2. Cochez la case à côté du groupe de sécurité pour votre groupe de nœuds autogéré.

  3. Sous l'onglet Balises, utilisez le bouton Gérer les balises pour ajouter la balise for-use-with-emr-containers-managed-endpoint-sg=ClusterName/NodeGroupName. Remplacez ClusterName et NodeGroupName par les valeurs appropriées.

Associer un JEG pod à un groupe de nœuds géré avec des instances à la demande

Vous pouvez également définir des étiquettes supplémentaires, appelées sélecteurs d'étiquettes Kubernetes, afin de spécifier des contraintes ou des restrictions supplémentaires pour exécuter un point de terminaison interactif sur un nœud ou un groupe de nœuds donné. L'exemple suivant montre comment utiliser des EC2 instances Amazon On-Demand pour un JEG pod.

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

Vous ne pouvez utiliser la propriété node-labels qu'avec une propriété managed-nodegroup-name ou self-managed-nodegroup-name.