Los node pools permiten agrupar nodos que comparten la misma configuración (tipos de instancia, sistemas operativos, etiquetas y taints) para aplicar operaciones a todos los nodos del pool al mismo tiempo. Un clúster puede tener varios node pools con configuraciones distintas. Los cambios en un node pool nunca afectan a los nodos ni a las aplicaciones de otros pools.
Antes de crear un node pool, consulte Connect to cloud-based ECS computing resources para comprender los conceptos básicos, los casos de uso y la facturación de los node pools.
Límites
A continuación se muestran los parámetros que no se pueden modificar después de crear un node pool:
|
Parámetro |
Restricción |
|
Region |
Fijo a la región del clúster |
|
VPC |
Fijo a la red privada virtual (VPC) del clúster |
|
Security hardening |
No se puede cambiar después de crear el clúster |
|
Billing method |
No se puede alternar entre instancias spot y pay-as-you-go o suscripción |
|
Custom security group |
El tipo (básico o avanzado) no se puede cambiar después de la creación |
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Un ACK One registered cluster conectado a un clúster de Kubernetes externo (desplegado en un centro de datos local).
Conectividad de red entre el clúster de Kubernetes externo y la VPC del clúster registrado de ACK One. Consulte Scenario-based networking for VPC connections.
La configuración de proxy del clúster de Kubernetes externo importada al clúster registrado de ACK One en modo de red privada. Consulte Associate an external Kubernetes cluster with an ACK One registered cluster.
El componente cloud-node-controller instalado.
Un clúster de Kubernetes autogestionado creado con kubeadm que ejecute la versión 1.26, 1.28, 1.30, 1.31 o posterior.
Si la versión de su clúster no cumple con el requisito anterior, create a custom script for the node pool antes de continuar.
Ir a los node pools
Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.
En la página Clusters, haga clic en el nombre del clúster de destino. En el panel de navegación izquierdo, elija Nodes > Node Pools.
Crear un node pool
En la página Node Pools, haga clic en Create Node Pool.
En el cuadro de diálogo Create Node Pool, configure los parámetros descritos en las siguientes secciones.
Haga clic en Confirm.
Después de hacer clic en Confirm, la lista de node pools muestra el nuevo pool con el estado Initializing mientras se crea. Cuando la creación finaliza correctamente, el estado cambia a Active.
En la página de confirmación, haga clic en Console-to-Code en la esquina inferior izquierda para obtener código de ejemplo de Terraform o SDK que coincida con la configuración de su node pool.
Configuraciones básicas
|
Parámetro |
Descripción |
Modificable |
|
Node pool name |
Nombre del node pool. |
|
|
Region |
Se preselecciona según la región del clúster. No se puede cambiar. |
|
|
Scaling mode |
Manual o Auto. - Manual: mantiene la cantidad exacta de nodos que especifique en Expected number of nodes. Consulte Manually scale a node pool. - Auto: escala horizontalmente cuando la demanda de programación de pods supera la capacidad del clúster, según las cantidades mínima y máxima de instancias configuradas. Los clústeres con Kubernetes 1.24 o posterior usan escalado instantáneo de nodos de forma predeterminada; las versiones anteriores usan escalado automático de nodos. Consulte Node scaling. |
|
Configuraciones de red
|
Parámetro |
Descripción |
Modificable |
|
VPC |
Se preselecciona como la VPC del clúster. No se puede cambiar. |
|
|
vSwitch |
Determina las zonas donde se crean los nuevos nodos durante el escalado horizontal, según la Scaling policy que elija. Seleccione los vSwitches en las zonas de destino. Si no hay ningún vSwitch disponible, haga clic en Create vSwitch. Consulte Create and manage vSwitches. |
|
Configuraciones de instancia e imagen
| Parámetro | Descripción | Modificable |
|---|---|---|
| Billing method | Método de facturación de las instancias ECS agregadas al node pool: Pay-As-You-Go, Subscription o Spot Instance.<br>- Subscription: configure Duration y, de forma opcional, habilite Auto renewal.<br>- Spot Instance: ACK solo admite instancias spot con un periodo de protección de 1 hora. Después de este periodo, el sistema comprueba el precio spot y la disponibilidad de recursos cada 5 minutos. Si el precio en tiempo real supera su oferta o el inventario es insuficiente, la instancia se libera. Consulte Best practices for spot instance-based node pools.<br><br> Importante Los cambios en el método de facturación solo aplican a los nodos recién agregados. Los nodos existentes conservan su método de facturación original. Para cambiar el método de facturación de un nodo existente, consulte Change the billing method from pay-as-you-go to subscription. No se puede alternar entre instancias spot y facturación pay-as-you-go o de suscripción. Los node pools con imágenes de contenedor habilitadas para Entorno de Ejecución Confiable (TEE), que usan instancias de la serie ecs.g7t, no admiten cambios en el método de facturación. Estos cambios devuelven el error | |
| Instance type | Seleccione uno o más tipos de instancia ECS para los nodos worker. Filtre por vCPU, memoria, familia de instancias y arquitectura. Seleccionar varios tipos de instancia mejora la tasa de éxito del escalado horizontal. Si el escalado falla porque no hay tipos de instancia disponibles, agregue más tipos al pool. Consulte ECS specification recommendations for ACK clusters y check the scalability of the node pool. | |
| Operating system | Public image o Custom image.<br>- Public image: imagen optimizada para contenedores de Alibaba Cloud Linux 3, ContainerOS, Alibaba Cloud Linux 3 o Ubuntu. Consulte Operating systems.<br>- Custom image: use una imagen de sistema operativo personalizada. Consulte How do I create a custom image based on an existing ECS instance and use it to create nodes?<br> Nota Alibaba Cloud Marketplace Image se encuentra en fase de lanzamiento gradual. Para actualizar o cambiar el sistema operativo, consulte Change the OS. | |
| Security hardening | Elija una de las siguientes opciones. No se puede cambiar después de crear el clúster.<br>- Disable: no se aplica ningún refuerzo de seguridad.<br>- MLPS security hardening: aplica las líneas base de nivel 3 de Multi-Level Protection Scheme (MLPS) 2.0 a las imágenes de Alibaba Cloud Linux 2 y Alibaba Cloud Linux 3. Importante Cuando se habilita MLPS security hardening, se prohíbe el inicio de sesión SSH como root. Use VNC para iniciar sesión desde la consola de ECS y cree usuarios regulares para el acceso SSH. Consulte Connect to an instance by using VNC.<br>- OS security hardening: solo está disponible para imágenes de Alibaba Cloud Linux 2 o Alibaba Cloud Linux 3. | |
| Logon method | Set key pair o Set password.<br>- Set key pair: autenticación mediante key pair SSH, compatible solo con instancias Linux. Especifique el Logon name (root o ecs-user) y la key pair.<br>- Set password: la contraseña debe tener entre 8 y 30 caracteres e incluir letras mayúsculas, letras minúsculas, dígitos y caracteres especiales. Especifique el Logon name (root o ecs-user) y la contraseña.<br> Nota Cuando se selecciona MLPS security hardening, solo se admite Set password. |
Configuraciones de almacenamiento
| Parámetro | Descripción | Modificable |
|---|---|---|
| System disk | Tipos compatibles: ESSD AutoPL, Enterprise SSD (ESSD), ESSD Entry, Standard SSD y Ultra Disk. Los tipos disponibles dependen de las familias de instancias que seleccione.<br>Para Enterprise SSD (ESSD), establezca el nivel de rendimiento (PL). Los niveles superiores requieren mayor capacidad: PL2 necesita más de 460 GiB y PL3 más de 1,260 GiB. Consulte Capacity and PLs.<br>El cifrado solo está disponible para Enterprise SSD (ESSD). De forma predeterminada se usa la CMK de servicio predeterminada; también puede usar una CMK BYOK existente de KMS.<br>Seleccione More system disk types para especificar tipos de disco alternativos y mejorar la tasa de éxito de la creación. | |
| Data disk | Tipos compatibles: ESSD AutoPL, Enterprise SSD (ESSD), ESSD Entry, SSD y Ultra Disk.<br>ESSD AutoPL admite aprovisionamiento de rendimiento (para un rendimiento sostenido superior al de referencia) y ráfagas de rendimiento (para picos de lectura y escritura).<br>Enterprise SSD (ESSD): configure un PL personalizado. PL2 requiere más de 460 GiB y PL3 más de 1,260 GiB.<br>El cifrado está disponible para todos los tipos de discos de datos. También puede crear discos de datos a partir de snapshots para acelerar la carga de imágenes de contenedor y la inicialización de modelos de lenguaje grandes (LLM).<br>Durante la creación del nodo, el último disco de datos se formatea automáticamente. El sistema monta /var/lib/container en este disco, y monta /var/lib/kubelet y /var/lib/containerd en /var/lib/container. Para personalizar los puntos de montaje, modifique la configuración de inicialización del disco. Consulte Can I mount a data disk to a custom directory in an ACK node pool?<br>Nota Se pueden adjuntar hasta 64 discos de datos a una instancia ECS, según el tipo de instancia. Para comprobar el límite de un tipo específico, llame a la operación DescribeInstanceTypes y revise el parámetro |
Cantidad de instancias
|
Parámetro |
Descripción |
Modificable |
|
Expected number of nodes |
Cantidad total de nodos que mantiene el node pool. Establézcalo en como mínimo 2 para asegurar que los componentes del clúster se ejecuten correctamente. Establézcalo en 0 si no necesita nodos en el momento de la creación. Consulte Manually scale a node pool. |
|
Configuraciones avanzadas
Expanda Advanced options (optional) para configurar los siguientes parámetros.
| Parámetro | Descripción | Modificable |
|---|---|---|
| Resource group | El resource group al que pertenece el node pool. Cada recurso solo puede pertenecer a un resource group. | |
| Scaling mode | Aplica solo cuando el node pool usa el modo de escalado Auto.<br>- Standard mode: escala mediante la creación y liberación de instancias ECS.<br>- Economical mode: escala mediante la creación, detención y reinicio de instancias ECS. Las instancias detenidas solo generan costos de almacenamiento, no de cómputo. No aplica a familias de instancias con almacenamiento local (como las familias de big data y SSD local). Consulte Economical mode. | |
| Scaling policy | Determina cómo se distribuyen los nuevos nodos entre las zonas durante el escalado horizontal.<br>- Priority: escala siguiendo el orden de prioridad de los vSwitches seleccionados. Si una zona no está disponible, se intenta con la siguiente.<br>- Cost optimization: crea instancias en orden ascendente de precio unitario de vCPU. Se prefieren las instancias spot si el método de facturación es Spot Instance; las instancias pay-as-you-go complementan cuando no hay instancias spot disponibles.<br>- Distribution balancing: distribuye las instancias de manera uniforme entre las zonas seleccionadas (vSwitches). Requiere varios vSwitches. | |
| Supplement spot capacity with on-demand instances | Requiere la facturación Spot Instance. Cuando se habilita, ACK crea automáticamente instancias pay-as-you-go si no se pueden aprovisionar instancias spot debido a restricciones de precio o inventario. | |
| Enable supplemental spot instances | Requiere la facturación Spot Instance. Cuando se recibe un aviso de recuperación (5 minutos antes de la recuperación), ACK intenta aprovisionar nuevas instancias spot como reemplazo. Si la compensación tiene éxito, ACK drena y elimina los nodos antiguos. Si falla, ACK no drena los nodos antiguos y vuelve a intentarlo cuando se cumplen las condiciones de inventario y precio. Habilite Supplement spot capacity with on-demand instances junto con esta opción para mejorar la tasa de éxito de la compensación. Consulte Best practices for spot instance-based node pools. | |
| ECS tags | Etiquetas agregadas a las instancias ECS durante el escalado automático. ACK y Auto Scaling reservan 3 etiquetas (ack.aliyun.com:<Cluster ID>, ack.alibabacloud.com/nodepool-id:<Node pool ID> y acs:autoscaling:scalingGroupId:<Scaling group ID>), lo que deja un máximo de 17 etiquetas definidas por el usuario por nodo (el límite de ECS es de 20 en total).<br>Nota Cuando se habilita el escalado automático, se agregan de forma predeterminada las etiquetas | |
| Taints | Los taints constan de una clave, un valor y un efecto. Restricciones:<br>- Key: de 1 a 63 caracteres; letras, dígitos, guiones (-), guiones bajos (_) y puntos (.); debe comenzar y terminar con una letra o un dígito. Para una clave con prefijo, el prefijo debe ser un nombre de subdominio (≤253 caracteres, que termine con /).<br>- Value: hasta 63 caracteres; mismas reglas de caracteres que la clave; puede estar vacío.<br>- Effect: NoSchedule, NoExecute o PreferNoSchedule.<br> - NoSchedule: los pods no se programan en el nodo.<br> - NoExecute: los pods sin tolerancia se expulsan cuando se agrega el taint.<br> - PreferNoSchedule: el programador evita colocar pods sin tolerancia en el nodo.<br>Consulte Taints and tolerations. | |
| Node labels | Las etiquetas son pares clave-valor. Restricciones para las claves:<br>- De 1 a 63 caracteres; letras, dígitos, guiones (-), guiones bajos (_) y puntos (.); debe comenzar y terminar con una letra o un dígito.<br>- Para una clave con prefijo, el prefijo debe ser un nombre de subdominio (≤253 caracteres, que termine con /).<br>- Prefijos reservados (no se pueden usar): kubernetes.io/, k8s.io/ y cualquier prefijo que termine con estos. Excepciones: kubelet.kubernetes.io/, node.kubernetes.io y los prefijos que terminen con ellos.<br>Valores: hasta 63 caracteres; mismas reglas de caracteres que la clave; pueden estar vacíos. | |
| Custom node name | Cuando se habilita, el nombre del nodo, el nombre de la instancia ECS y el hostname de ECS se establecen con un valor personalizado. Formato: <prefix><IP substring><suffix>.<br>- Longitud total: de 2 a 64 caracteres; debe comenzar y terminar con una letra minúscula o un dígito.<br>- Prefijo (obligatorio): letras, dígitos, guiones (-) y puntos (.); debe comenzar con una letra; no puede terminar con un guion o un punto; no se permiten guiones o puntos consecutivos.<br>- Sufijo (opcional): mismas reglas que el prefijo.<br>Ejemplo: IP 192.XX.YY.55, prefijo aliyun.com, sufijo test → nombre del nodo Linux: aliyun.com192.XX.YY.55test. Los nodos Windows usan guiones en lugar de puntos en el hostname (por ejemplo, 192-XX-YY-55). | |
| Pre-custom instance data | Script que se ejecuta en los nodos antes de que se unan al clúster. Requiere solicitar una cuota en la consola de Quota Center. Consulte User-data scripts. | |
| Instance user data | Script que se ejecuta en los nodos después de que se unen al clúster. Consulte User-data scripts. Después de crear un clúster o agregar nodos, compruebe los resultados de ejecución iniciando sesión en un nodo y ejecutando grep cloud-init /var/log/messages. | |
| Cloud Monitor agent | Instala el agente de Cloud Monitor en los nodos nuevos, lo que le permite consultar las métricas de los nodos en la consola de Cloud Monitor. Aplica solo a los nodos recién agregados. Para instalar el agente en nodos existentes, vaya directamente a la consola de Cloud Monitor. | |
| Public IP address | Asigna una dirección IPv4 pública a cada nodo nuevo. Si se habilita, configure Bandwidth billing method y Peak bandwidth. Aplica solo a los nodos recién agregados. Para habilitar el acceso a Internet en un nodo existente, cree una EIP y asóciela con el nodo. Consulte Associate an EIP with an ECS instance. | |
| Custom security group | Seleccione Basic security group o Advanced security group. Solo se puede seleccionar un tipo, y este no se puede cambiar después de la creación. Cada instancia ECS admite hasta 5 security groups; asegúrese de que la cuota sea suficiente. Si selecciona un security group existente, las reglas del security group no se configuran automáticamente; deberá configurarlas manualmente. Consulte Configure security group rules to enforce access control on ACK clusters y Security groups. | |
| RDS whitelist | Agrega las direcciones IP de los nodos a la lista blanca de una instancia de ApsaraDB RDS. | |
| Deployment set | Distribuye las instancias ECS entre servidores físicos para lograr alta disponibilidad. Primero Create a deployment set en la consola de ECS y luego especifíquelo aquí. Importante Después de seleccionar un deployment set, la cantidad máxima de nodos en el pool es | |
| Private pool type | Controla si se usa un pool privado de reserva de capacidad al crear instancias.<br>- Open: coincide automáticamente con un pool privado abierto; recurre al pool público si no encuentra ninguno.<br>- Do not use: usa solo el pool público.<br>- Specified: usa el pool privado especificado por ID; la creación de la instancia falla si el pool no está disponible.<br>Consulte Private pools. |
Editar un node pool
Puede actualizar la mayoría de los parámetros del node pool después de la creación, incluidos los vSwitches, el método de facturación, el tipo de instancia, el disco del sistema y la configuración de escalado automático. Para ver la lista completa de parámetros editables, consulte la columna Changeable en las tablas de parámetros anteriores.
Modificar un node pool no afecta a los nodos ni a las aplicaciones de otros node pools del clúster.
En la mayoría de los casos, las configuraciones actualizadas solo aplican a los nodos recién agregados. Excepciones: ECS tags, node labels y taints; los cambios en estos elementos también aplican a los nodos existentes.
Si modificó nodos fuera de la configuración del node pool (por ejemplo, directamente en la instancia ECS), esos cambios se sobrescriben cuando actualiza el node pool.
Al cambiar el Scaling mode:
De Manual a Auto: habilita el escalado automático y requiere configurar las cantidades mínima y máxima de instancias.
De Auto a Manual: deshabilita el escalado automático, establece las instancias mínimas en 0 y las máximas en 2,000, y define Expected nodes con la cantidad actual de nodos.
Pasos:
En la página Node Pools, busque el node pool y haga clic en Edit en la columna Actions.
En el cuadro de diálogo, modifique los parámetros y siga las instrucciones en pantalla.
El estado del node pool muestra Updating durante la actualización y vuelve a Activated cuando finaliza.
Consultar un node pool
Haga clic en el nombre de un node pool para consultar sus detalles en cuatro pestañas:
Basic information: detalles de configuración del clúster, del node pool y de los nodos. Si el escalado automático está habilitado, aquí también se muestran las configuraciones de escalado elástico.
Monitoring: uso de CPU, uso de memoria, uso de disco y promedio de CPU y memoria por nodo, con tecnología de Alibaba Cloud Prometheus.
Node management: enumera todos los nodos del pool. Elimine, drene, programe o ejecute operaciones de mantenimiento (O&M) en nodos individuales. Haga clic en Export para descargar la lista de nodos como archivo CSV.
Scaling activities: registros de eventos de escalado recientes, incluidas las cantidades de instancias después de cada actividad y las descripciones de errores. Para conocer los códigos de error comunes, consulte Error codes and solutions for scaling failures.
Eliminar un node pool
Todos los nodos del pool se eliminan del servidor API del clúster. Revise las reglas de liberación a continuación antes de continuar.
El comportamiento de liberación de los nodos depende de si el pool tiene configurado Expected number of nodes y del método de facturación de cada nodo.
Node pool con Expected number of nodes configurado:
|
Método de facturación |
Qué sucede con el nodo |
|
Pay-as-you-go |
Se libera después de eliminar el node pool |
|
Subscription |
Se conserva después de eliminar el node pool |
Node pool sin Expected number of nodes configurado:
|
Origen del nodo |
Qué sucede con el nodo |
|
Nodos agregados manual o automáticamente |
Se conservan (no se liberan) |
|
Nodos de Subscription |
Se conservan (no se liberan) |
|
Otros nodos |
Se liberan cuando se elimina el node pool |
Todos los nodos liberados se eliminan del servidor API del clúster. Los nodos conservados permanecen registrados en el servidor API.
Para liberar un nodo de Subscription conservado, primero change its billing method to pay-as-you-go y luego libere la instancia ECS desde la consola de ECS.
Pasos:
(Opcional) Haga clic en el nombre del node pool. En la pestaña Overview, compruebe si Expected number of nodes está configurado. Un guion (–) significa que no está configurado.
En la página Node Pools, busque el node pool, haga clic en
> Delete en la columna Actions y confirme en el cuadro de diálogo.