Todos los productos
Search
Centro de documentos

Container Service for Kubernetes:Uso de recursos elásticos para implementar la programación basada en Elastic Container Instance (descontinuado)

Última actualización: Sep 04, 2026
Importante

Las versiones 1.18 a 1.24 de Kubernetes conservan la capacidad de programación elástica en Elastic Container Instance (ECI). Desde mayo de 2023, Container Service for Kubernetes (ACK) descontinuó el mantenimiento de esta función para los clústeres que ejecutan Kubernetes v1.24 o posterior. Use una de las alternativas a continuación:

Para comparar las soluciones de programación de nodos virtuales, consulte Schedule a pod to a virtual node.

La programación basada en Elastic Container Instance permite controlar qué backend de cómputo ejecuta los pods mediante una sola anotación en los metadatos del pod. Según el valor de la anotación, los pods se ejecutan exclusivamente en nodos de Elastic Compute Service (ECS), exclusivamente en instancias de contenedor elásticas o en instancias de contenedor elásticas solo cuando se agota la capacidad de ECS en el clúster.

Requisitos previos

Antes de empezar, asegúrese de contar con lo siguiente:

  • Un clúster administrado Pro de ACK

  • Una versión del programador compatible con su versión de Kubernetes: Para obtener detalles sobre las versiones del programador, consulte kube-scheduler.

    Versión de Kubernetes

    Versión mínima del programador

    1.18

    v1.18-ack-3.0

    1.20

    v1.20.4-ack-4.0

    1.22

    v1.22.3-ack-1.0

    1.24

    v1.24.3-ack-2.0

  • El componente ack-virtual-node desplegado en el clúster. Para consultar las instrucciones de configuración, véase Schedule pods to elastic container instances through virtual nodes.

Configuración del modo de programación

Agregue la anotación alibabacloud.com/burst-resource a la sección metadata del pod. En un Deployment, coloque la anotación bajo spec.template.metadata.

La tabla a continuación resume cómo afecta cada valor de anotación al comportamiento de programación:

Valor de la anotación

Comportamiento de programación

Requiere nodo virtual

Falla si

(no establecido)

Usa únicamente los nodos ECS existentes en el clúster (predeterminado)

No

—

eci

Prioriza los nodos ECS; recurre a ECI cuando la capacidad de ECS es insuficiente

—

—

eci_only

Usa exclusivamente ECI; nunca usa nodos ECS

Sí

No existe ningún nodo virtual en el clúster

Cualquier otro valor

—

—

Siempre falla; valor no válido

Importante

alibabacloud.com/burst-resource: eci entra en conflicto con alibabacloud.com/fluid-sidecar-target: eci. Para ver ejemplos de uso de alibabacloud.com/fluid-sidecar-target, consulte Accelerate data access in serverless cloud computing y temas relacionados.

Aplicación de la anotación

  1. Cree un archivo llamado nginx-deployment.yaml con el contenido a continuación:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      replicas: 4
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          name: nginx
          annotations:
            alibabacloud.com/burst-resource: eci  # Fall back to ECI when ECS capacity is insufficient
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
            resources:
              limits:
                cpu: 2
              requests:
                cpu: 2
  2. Aplique el manifiesto:

    kubectl apply -f nginx-deployment.yaml

Escenarios de fallo

La programación del pod falla en las situaciones a continuación:

  • El valor de la anotación no es eci ni eci_only. El mensaje de PodStatus es requesttypemustbeeci,eci_onlyorecs (Kubernetes v1.22.15 y v1.24.6).

  • El valor de la anotación es eci_only, pero no existe ningún nodo virtual en el clúster. El mensaje de PodStatus es doesn'tfitecitype:eci_only (Kubernetes v1.22.15 y v1.24.6).

Pasos siguientes