Un grupo de nodos es un grupo de nodos dentro de un clúster de Kubernetes que tienen la misma configuración. Los grupos de nodos usan una especificación NodePool. Cada nodo del grupo tiene una etiqueta de nodo de Kubernetes, cuyo valor es el nombre del grupo de nodos.
De forma predeterminada, todos los grupos de nodos nuevos ejecutan la misma versión de Kubernetes que el plano de control.
Cuando creas un clúster de usuarios, el número y el tipo de nodos que especificas crean el primer grupo de nodos del clúster. Puedes añadir grupos de nodos adicionales de diferentes tamaños y tipos a tu clúster. Todos los nodos de un mismo grupo de nodos son idénticos entre sí.
Los grupos de nodos personalizados son útiles cuando se programan pods que requieren más recursos que otros, como más memoria o espacio en disco local. Puedes usar taints de nodos si necesitas tener más control sobre la programación de los pods.
Puede crear y eliminar grupos de nodos de forma individual sin que afecte a todo el clúster. No puedes configurar un solo nodo en un pool de nodos. Los cambios de configuración afectan a todos los nodos del grupo de nodos.
Puedes cambiar el tamaño de los grupos de nodos de un clúster aumentando o reduciendo el tamaño del grupo. Reducir el tamaño de un grupo de nodos es un proceso automatizado en el que se disminuye el tamaño del grupo y el sistema de GDC vacía y expulsa automáticamente un nodo arbitrario. No puedes seleccionar un nodo específico para eliminarlo al reducir la escala de un grupo de nodos.
Antes de empezar
Para gestionar los grupos de nodos de un clúster de usuarios, debes tener el rol de administrador del clúster de usuarios (rol user-cluster-admin).
Añadir un grupo de nodos
Cuando creas un clúster de usuario desde la consola de GDC, puedes personalizar el grupo de nodos predeterminado y crear grupos de nodos adicionales antes de que se inicialice la creación del clúster. Si debes añadir un grupo de nodos a un clúster de usuario, sigue estos pasos:
Consola
- En el menú de navegación, selecciona Clusters.
- En la lista de clústeres, haz clic en el clúster que quieras. Se mostrará la página Detalles del clúster.
- Selecciona Grupos de nodos > Añadir grupo de nodos.
- Asigna un nombre al pool de nodos. No puedes modificar el nombre después de crear el grupo de nodos.
- Especifica el número de nodos de trabajador que se crearán en el grupo de nodos.
- Selecciona la clase de máquina que mejor se adapte a los requisitos de tu carga de trabajo. Las clases de máquina se muestran en los siguientes ajustes:
- Tipo de máquina
- vCPU
- Memoria
- Opcional: Añade etiquetas de pares clave-valor de Kubernetes para organizar los recursos de tu grupo de nodos.
- Haz clic en Guardar.
API
Abre la especificación de recursos personalizados
Clustercon la CLI dekubectlmediante el editor interactivo:kubectl edit clusters.cluster.gdc.goog/USER_CLUSTER_NAME -n platform \ --kubeconfig ADMIN_CLUSTER_KUBECONFIGHaz los cambios siguientes:
USER_CLUSTER_NAME: nombre del clúster de usuarios.ADMIN_CLUSTER_KUBECONFIG: ruta del archivo kubeconfig del clúster de administrador.
Añade una entrada en la sección
nodePools:nodePools: ... - machineTypeName: MACHINE_TYPE name: NODE_POOL_NAME nodeCount: NUMBER_OF_WORKER_NODES taints: TAINTS labels: LABELSHaz los cambios siguientes:
MACHINE_TYPE: el tipo de máquina de los nodos de trabajador del grupo de nodos. Consulta los tipos de máquinas disponibles para ver qué se puede configurar.NODE_POOL_NAME: el nombre del grupo de nodos.NUMBER_OF_WORKER_NODES: número de nodos de trabajo que se aprovisionarán en el grupo de nodos.TAINTS: los taints que se aplicarán a los nodos de este grupo de nodos. Este campo es opcional.LABELS: las etiquetas que se aplicarán a los nodos de este grupo de nodos. Contiene una lista de pares clave-valor. Este campo es opcional.
Guarda el archivo y cierra el editor.
Ver grupos de nodos
Para ver los grupos de nodos de un clúster de usuario, sigue estos pasos:
Consola
- En el menú de navegación, selecciona Clusters.
- En la lista de clústeres, haz clic en el clúster que quieras. Se mostrará la página Detalles del clúster.
- Selecciona Grupos de nodos.
Se muestra la lista de grupos de nodos que se ejecutan en el clúster. En esta página puedes gestionar los grupos de nodos del clúster.
API
Para ver los grupos de nodos de un clúster de usuarios específico, haz lo siguiente:
kubectl get clusters.cluster.gdc.goog/USER_CLUSTER_NAME -n platform \ -o json --kubeconfig ADMIN_CLUSTER_KUBECONFIG | \ jq .status.workerNodePoolStatusesEl resultado debería ser similar al siguiente:
[ { "conditions": [ { "lastTransitionTime": "2023-08-31T22:16:17Z", "message": "", "observedGeneration": 2, "reason": "NodepoolReady", "status": "True", "type": "Ready" }, { "lastTransitionTime": "2023-08-31T22:16:17Z", "message": "", "observedGeneration": 2, "reason": "ReconciliationCompleted", "status": "False", "type": "Reconciling" } ], "name": "worker-node-pool", "readyNodes": 3, "readyTimestamp": "2023-08-31T18:59:46Z", "reconcilingNodes": 0, "stalledNodes": 0, "unknownNodes": 0 } ]
Eliminar un grupo de nodos
Al eliminar un grupo de nodos, se eliminan los nodos y las rutas hacia ellos. Estos nodos expulsan y reprograman los pods que se ejecutan en ellos. Si los pods tienen selectores de nodos específicos, es posible que permanezcan en un estado no programable si ningún otro nodo del clúster cumple los criterios.
Asegúrate de tener al menos tres nodos de trabajo antes de eliminar un grupo de nodos para que tu clúster tenga suficiente espacio de computación para funcionar correctamente.
Para eliminar un grupo de nodos, sigue estos pasos:
Consola
En el menú de navegación, selecciona Clusters.
Haz clic en el clúster que aloja el grupo de nodos que quieres eliminar.
Selecciona Grupos de nodos.
Haz clic en delete Eliminar junto al grupo de nodos que quieras eliminar.
API
Abre la especificación de recursos personalizados
Clustercon la CLI dekubectlmediante el editor interactivo:kubectl edit clusters.cluster.gdc.goog/USER_CLUSTER_NAME -n platform \ --kubeconfig ADMIN_CLUSTER_KUBECONFIGHaz los cambios siguientes:
USER_CLUSTER_NAME: nombre del clúster de usuarios.ADMIN_CLUSTER_KUBECONFIG: ruta del archivo kubeconfig del clúster de administrador.
Elimina la entrada del grupo de nodos de la sección
nodePools. Por ejemplo, en el siguiente fragmento, debes quitar los camposmachineTypeName,nameynodeCount:nodePools: ... - machineTypeName: n2-standard-2-gdc name: nodepool-1 nodeCount: 3Asegúrate de eliminar todos los campos del grupo de nodos que vas a eliminar.
Guarda el archivo y cierra el editor.
Tipos de máquina de nodos de trabajador
Cuando creas un clúster de usuario en el dispositivo aislado de Google Distributed Cloud (GDC), creas grupos de nodos que se encargan de ejecutar tus cargas de trabajo de contenedores en el clúster. Puedes aprovisionar nodos en función de los requisitos de tu carga de trabajo de contenedores y actualizarlos a medida que cambien tus requisitos.
GDC proporciona tipos de máquinas predefinidos para los nodos de trabajo, que se pueden seleccionar al añadir un grupo de nodos.
Tipos de máquinas disponibles
GDC define los tipos de máquinas con algunos parámetros para un nodo de clúster de usuario, como CPU, memoria y GPU.
GDC tiene varios tipos de máquinas para diferentes fines.
Por ejemplo, los clústeres de usuarios usan n2-standard-2-gdc para cargas de trabajo de contenedores de uso general. También puedes encontrar tipos de máquinas con memoria optimizada, como n2-highcpu-8-gdc. Si tienes previsto ejecutar contenedores de aprendizaje profundo, debes aprovisionar máquinas con GPU, como a2-highgpu-1g-gdc.
A continuación, se muestra una lista de todos los tipos de máquinas predefinidos de GDC disponibles para los nodos de trabajador de clústeres de usuarios:
| Nombre | vCPUs | Memoria | Número de GPUs |
|---|---|---|---|
| n2-standard-2-gdc | 2 | 8G | N/A |
| n2-standard-4-gdc | 4 | 16G | N/A |
| n2-highmem-4-gdc | 4 | 32G | N/A |
| n2-highcpu-8-gdc | 8 | 8G | N/A |
| n2-standard-8-gdc | 8 | 32G | N/A |
| n2-highmem-8-gdc | 8 | 64 G | N/A |
| a2-highgpu-1g-gdc | 12 | 85G | 1 |
| a2-ultragpu-1g-gdc | 12 | 170G | 1 |