Implementación de un pod de JEG en un grupo de nodos
La colocación del pod de JEG (Jupyter Enterprise Gateway) es una característica que permite implementar un punto de conexión interactivo en un grupo de nodos específico. Con esta característica, puede configurar ajustes como instance type
para el punto de conexión interactivo.
Asociación de un pod de JEG a un grupo de nodos administrado
La siguiente propiedad de configuración le permite especificar el nombre de un grupo de nodos administrado en el clúster de Amazon EKS en el que se implementará el pod de JEG.
//payload --configuration-overrides '{ "applicationConfiguration": [ { "classification": "endpoint-configuration", "properties": { "managed-nodegroup-name":
NodeGroupName
} } ] }'
Un grupo de nodos debe tener la etiqueta de Kubernetes for-use-with-emr-containers-managed-endpoint-ng=
adjuntada a todos los nodos que forman parte del grupo de nodos. Para enumerar todos los nodos de un grupo de nodos que tienen esta etiqueta, use el siguiente comando:NodeGroupName
kubectl get nodes --show-labels | grep for-use-with-emr-containers-managed-endpoint-ng=
NodeGroupName
Si el resultado del comando anterior no devuelve los nodos que forman parte del grupo de nodos administrado, significa que no hay nodos en el grupo de nodos que tengan la etiqueta de Kubernetes for-use-with-emr-containers-managed-endpoint-ng=
adjunta. En este caso, siga los pasos que se indican a continuación para adjuntar esa etiqueta a los nodos del grupo de nodos.NodeGroupName
-
Use el comando siguiente para agregar la etiqueta de Kubernetes
for-use-with-emr-containers-managed-endpoint-ng=
a todos los nodos de un grupo de nodos administrado:NodeGroupName
NodeGroupName
kubectl label nodes --selector eks:nodegroup-name=
NodeGroupName
for-use-with-emr-containers-managed-endpoint-ng=NodeGroupName
-
Compruebe que los nodos estén etiquetados correctamente con el siguiente comando:
kubectl get nodes --show-labels | grep for-use-with-emr-containers-managed-endpoint-ng=
NodeGroupName
Un grupo de nodos administrado debe estar asociado al grupo de seguridad de un clúster de Amazon EKS, lo que suele ocurrir si ha creado el clúster y el grupo de nodos administrado mediante eksctl
. Puede verificarlo en la consola de AWS mediante los siguientes pasos.
-
Vaya a su clúster en la consola de Amazon EKS.
-
Vaya a la pestaña de redes del clúster y anote su grupo de seguridad.
-
Vaya a la pestaña de procesamiento del clúster y haga clic en el nombre del grupo de nodos administrado.
-
En la pestaña Detalles del grupo de nodos administrado, compruebe que el grupo de seguridad del clúster que indicó anteriormente aparezca en Grupos de seguridad.
Si el grupo de nodos administrado no está asociado al grupo de seguridad del clúster de Amazon EKS, debe adjuntar la etiqueta for-use-with-emr-containers-managed-endpoint-sg=
al grupo de seguridad del grupo de nodos. Siga estos pasos para adjuntar la etiqueta.ClusterName
/NodeGroupName
-
Vaya a la consola de Amazon EC2 y haga clic en los grupos de seguridad del panel de navegación izquierdo.
-
Para seleccionar el grupo de seguridad del grupo de nodos administrado, haga clic en la casilla de verificación.
-
En la pestaña Etiquetas, agregue la etiqueta
for-use-with-emr-containers-managed-endpoint-sg=
con el botón Administrar etiquetas.ClusterName
/NodeGroupName
Asociación de un pod de JEG a un grupo de nodos autoadministrado
La siguiente propiedad de configuración le permite especificar el nombre de un grupo de nodos autoadministrado o no administrado en el clúster de Amazon EKS en el que se implementará el pod de JEG.
//payload --configuration-overrides '{ "applicationConfiguration": [ { "classification": "endpoint-configuration", "properties": { "self-managed-nodegroup-name":
NodeGroupName
} } ] }'
El grupo de nodos debe tener la etiqueta de Kubernetes for-use-with-emr-containers-managed-endpoint-ng=
adjunta a todos los nodos que forman parte del grupo de nodos. Para enumerar todos los nodos de un grupo de nodos que tienen esta etiqueta, use el comando siguiente:NodeGroupName
kubectl get nodes --show-labels | grep for-use-with-emr-containers-managed-endpoint-ng=
NodeGroupName
Si el resultado del comando anterior no devuelve los nodos que forman parte del grupo de nodos autoadministrado, significa que no hay nodos en el grupo de nodos que tengan la etiqueta de Kubernetes for-use-with-emr-containers-managed-endpoint-ng=
adjunta. En este caso, siga los pasos que se indican a continuación para adjuntar esa etiqueta a los nodos del grupo de nodos.NodeGroupName
-
Si ha creado el grupo de nodos autoadministrado con
eksctl
, utilice el siguiente comando para agregar la etiqueta de Kubernetesfor-use-with-emr-containers-managed-endpoint-ng=
a todos los nodos del grupo de nodos autoadministradoNodeGroupName
a la vez.NodeGroupName
kubectl label nodes --selector alpha.eksctl.io/nodegroup-name=
NodeGroupName
for-use-with-emr-containers-managed-endpoint-ng=NodeGroupName
Si no utilizó
eksctl
para crear el grupo de nodos autoadministrado, tendrá que sustituir el selector del comando anterior por una etiqueta de Kubernetes diferente que esté adjunta a todos los nodos del grupo de nodos. -
Utilice el siguiente comando para verificar que los nodos estén etiquetados correctamente:
kubectl get nodes --show-labels | grep for-use-with-emr-containers-managed-endpoint-ng=
NodeGroupName
El grupo de seguridad del grupo de nodos autoadministrado debe tener la etiqueta for-use-with-emr-containers-managed-endpoint-sg=
adjunta. Siga estos pasos para adjuntar la etiqueta al grupo de seguridad desde la AWS Management Console.ClusterName
/NodeGroupName
-
Vaya a la consola de Amazon EC2. En el panel de navegación izquierdo, elija Grupos de seguridad.
-
Seleccione la casilla de verificación junto al grupo de seguridad de su grupo de nodos autoadministrado.
-
En la pestaña Etiquetas, use el botón Administrar etiquetas para agregar la etiqueta
for-use-with-emr-containers-managed-endpoint-sg=
. SustituyaClusterName
/NodeGroupName
yClusterName
por los valores adecuados.NodeGroupName
Asociación de un pod de JEG a un grupo de nodos administrado con instancias bajo demanda
También puede definir etiquetas adicionales, conocidas como selectores de etiquetas de Kubernetes, para especificar restricciones o restricciones adicionales para ejecutar un punto de conexión interactivo en un nodo o grupo de nodos determinado. En el ejemplo siguiente, se muestra cómo utilizar instancias de Amazon EC2 para un pod de JEG.
--configuration-overrides '{ "applicationConfiguration": [ { "classification": "endpoint-configuration", "properties": { "managed-nodegroup-name":
NodeGroupName
, "node-labels": "eks.amazonaws.com/capacityType:ON_DEMAND" } } ] }'
nota
Solo puede usar la propiedad node-labels
con una propiedad managed-nodegroup-name
o self-managed-nodegroup-name
.