Todos los productos
Search
Centro de documentos

Container Service for Kubernetes:Programar un pod en un nodo virtual

Última actualización: Sep 04, 2026

Compare los métodos de programación de nodos virtuales para clústeres administrados ACK y clústeres dedicados ACK según su escenario de programación.

Escenarios comunes de programación de nodos virtuales

  1. Programar pods exclusivamente en nodos virtuales.

  2. Priorizar los nodos ECS y recurrir a los nodos virtuales cuando los recursos de ECS sean insuficientes.

Para un clúster administrado ACK (Basic Edition), utilice la etiqueta alibabacloud.com/eci=true en el primer escenario. Para el segundo, actualice a un clúster administrado ACK (Pro Edition).

Nota

Los clústeres administrados ACK (Pro Edition) se adaptan mejor al segundo escenario gracias a su mayor confiabilidad, garantías de SLA y capacidad superior. Puede migrar sin interrupciones desde un clúster administrado ACK (Basic Edition) hacia un clúster administrado ACK (Pro Edition).

Notas de uso

  • La etiqueta alibabacloud.com/eci=true tiene la máxima prioridad y anula los siguientes métodos de programación:

    • Semántica nativa de programación de Kubernetes, como nodeSelector, afinidad y anti-afinidad, y restricciones de distribución de topología de pods

    • ResourcePolicy

    • ElasticResource (Annotation: alibabacloud.com/burst-resource)

  • No se recomienda utilizar ElasticWorkload ni ElasticResource (Annotation: alibabacloud.com/burst-resource) porque su desarrollo está inactivo.

  • El componente virtual-kubelet-autoscaler ya no recibe mantenimiento. Actualice su clúster administrado ACK (Basic Edition) a un clúster administrado ACK (Pro Edition) y desinstale este componente para liberar recursos del nodo. Use la semántica nativa de programación de Kubernetes para implementar despliegue distribuido y programación basada en afinidad para pods ECI entre zonas.

  • En los pods alojados en nodos virtuales que usan volúmenes de disco aprovisionados dinámicamente, las StorageClasses de tipo WaitForFirstConsumer no son compatibles con estos métodos de programación:

    • Uso de etiquetas: alibabacloud.com/eci=true.

    • Especificación de un nodo virtual mediante nodeName.

Comparativa de soluciones y recomendaciones de selección

En las tablas comparativas se utilizan los siguientes términos:

  • Programación basada en prioridades: Cuando un clúster cuenta con distintos tipos de nodos, configure la prioridad de programación. Por ejemplo, priorice los nodos ECS y recurra a los nodos virtuales si los recursos de ECS resultan insuficientes.

    Sin programación basada en prioridades, no es posible asignar prioridades entre tipos de nodos. Por ejemplo, la etiqueta alibabacloud.com/eci=true programa los pods únicamente en nodos virtuales, sin opción de retorno a ECS como prioridad principal.

  • Directiva de programación estricta: Determina si las reglas de programación para los diferentes tipos de node pool actúan como restricciones obligatorias.

    • Una directiva no estricta funciona como restricción flexible. Por ejemplo, el campo preferredDuringSchedulingIgnoredDuringExecution de la afinidad de nodos prioriza los nodos ECS, pero los pods podrían ubicarse en nodos virtuales debido a la política de puntuación de nodos.

    • Una directiva estricta actúa como restricción obligatoria. Por ejemplo, ResourcePolicy garantiza que los pods se programen en nodos ECS siempre que existan recursos suficientes.

Clúster administrado ACK (Pro Edition)

Método de programación

Escenario típico

Programación basada en prioridades

Reducir primero los pods ECI

Recomendado

Operaciones relacionadas

labels: alibabacloud.com/eci=true

Programa los pods exclusivamente en nodos virtuales. No permite seleccionar un nodo virtual específico.

No compatible

N/A

Recomendado

Programar pods para ejecutarlos en ECI

Semántica nativa de programación de Kubernetes

nodeSelector

Con una tolerancia, programa los pods solo en nodos virtuales y permite dirigirse a un nodo virtual específico.

No compatible

N/A

Recomendado

nodeSelector

Afinidad y anti-afinidad

Use Taint, Toleration y NodeAffinity para programar pods exclusivamente en ECI, exclusivamente en ECS o con preferencia en ECS (por ejemplo, recurrir a nodos virtuales cuando los recursos de ECS sean insuficientes).

Este método también admite (y solo admite) reducir primero ECI y luego ECS.

Compatible (directiva de programación no estricta)

Compatible

Recomendado

Especificar asignación de recursos para ECS y ECI

Restricciones de distribución de topología de pods

Distribuye los pods entre zonas para lograr alta disponibilidad y rendimiento.

No compatible

Compatible

Recomendado

Implementar despliegue distribuido y programación basada en afinidad para pods ECI entre zonas

ResourcePolicy

Importante

En v1.20, el planificador omite la verificación de imposibilidad de programación para nodos virtuales. En v1.22 y versiones posteriores, solo se omite la verificación de taint.

Para conservar el comportamiento de v1.20, deshabilite la capacidad de programación de nodos virtuales en los parámetros del planificador.

  • Admite programación basada en prioridades por node pool. Por ejemplo, priorizar el Node Pool A y recurrir al Node Pool B cuando los recursos sean insuficientes.

  • En escenarios de despliegue conjunto ECS-ECI, configure la programación según el método de facturación. Por ejemplo, priorizar ECS subscription, luego ECS pay-as-you-go y finalmente ECI.

    La reducción sigue el orden inverso de programación: primero ECI, después ECS pay-as-you-go y por último ECS subscription.

Compatible (directiva de programación estricta)

Compatible

Recomendado

Personalizar programación basada en prioridades para recursos elásticos

UnitedDeployment

Programa los pods en nodos ECS o virtuales según el número de réplicas. Por ejemplo, use ECS subscription para 10 réplicas o menos, preemptible instances para entre 11 y 20, y ECI para más de 20.

Compatible

Compatible

Recomendado

UnitedDeployment

Semántica nativa de programación de Kubernetes

nodeSelector

Con una tolerancia, programa los pods solo en nodos virtuales y permite dirigirse a un nodo virtual específico.

No compatible

Compatible

No recomendado

En comparación con un clúster administrado ACK (Pro Edition), el kube-scheduler de un clúster administrado ACK (Basic Edition) y de un clúster dedicado ACK no detecta el inventario subyacente durante la programación, lo que reduce la certeza de crear los pods correctamente.

nodeSelector

Afinidad y anti-afinidad

Use Taint, Toleration y NodeAffinity para programar pods exclusivamente en ECI, exclusivamente en ECS o con preferencia en ECS (por ejemplo, recurrir a nodos virtuales cuando los recursos de ECS sean insuficientes).

Compatible (directiva de programación no estricta)

Compatible

Afinidad y anti-afinidad

Restricciones de distribución de topología de pods

Distribuye los pods entre zonas para lograr alta disponibilidad y rendimiento.

No compatible

Compatible

Restricciones de distribución de topología de pods

ElasticWorkload

(Desarrollo inactivo. Se recomienda usar UnitedDeployment.)

Agrupa y programa las réplicas de Deployment en nodos ECS o nodos virtuales.

Compatible

Compatible

No recomendado

Programar pods de cargas de trabajo elásticas en ECI mediante Elastic Workload (descontinuado)

ElasticResource (Annotation: alibabacloud.com/burst-resource)

(Desarrollo inactivo)

Solo se admiten dos directivas de programación elástica:

  • Programar pods en nodos virtuales cuando los recursos de los nodos ECS sean insuficientes (directiva de programación elástica: eci).

  • Programar pods exclusivamente en nodos virtuales (directiva de programación elástica: eci_only).

Compatible

Compatible

No recomendado

Implementar programación elástica basada en ECI mediante ElasticResource (descontinuado)

Componente virtual-kubelet-autoscaler

(Mantenimiento discontinuado)

Solo admite programar primero los pods en nodos ECS y derivarlos a nodos virtuales cuando los recursos de los nodos ECS sean insuficientes.

Compatible

Compatible

No recomendado

Ninguna