Todos los productos
Search
Centro de documentos

Container Service for Kubernetes:Configure el modo de ENI exclusiva para un node pool

Última actualización: Sep 05, 2026

Asigne una ENI exclusiva a cada pod para obtener un alto throughput, una latencia ultrabaja y compatibilidad con multicast.

Limitaciones

  • Las instancias ECS requieren Terway v1.11.0 o posterior; las instancias Lingjun requieren la versión v1.14.3 o posterior. Consulte Terway para actualizar.

  • Con el doble stack habilitado, la adición de nodos sigue las mismas restricciones de tipo de instancia que el modo de ENI compartida: la cantidad de direcciones IPv4 (primarias y secundarias) debe ser igual a la de direcciones IPv6. Consulte instance family para ver las cantidades compatibles.

  • Las instancias Lingjun no admiten doble stack.

  • Los pods con una ENI exclusiva asignada no admiten la aceleración de red eBPF ni Kubernetes NetworkPolicy.

  • El modo de ENI exclusiva requiere nodos nuevos. Los nodos existentes agregados al pool no usarán sus ENI conectadas.

  • El modo de ENI exclusiva solo aplica a nodos nuevos. No es posible alternar entre los modos de ENI compartida y exclusiva después de crear el node pool.

  • No puede configure a custom CNI chain.

Configure la red de contenedores en el node pool

Terway ofrece la ENI exclusiva como modo de red en el node pool. Consulte Shared ENI mode and exclusive ENI mode.

1. Planificar el node pool de ENI exclusiva

  • En el modo de ENI exclusiva, cada nodo admite menos pods y requiere más de seis ENI. Consulte instance family para conocer la cantidad de ENI por tipo de instancia.

  • Planifique los vSwitches y security groups para sus pods.

Terway admite los siguientes métodos de configuración, ordenados por prioridad descendente:

2. Cree un node pool de ENI exclusiva y compruebe la configuración

  1. Siga Create and manage node pools para crear un node pool y agregue la etiqueta k8s.aliyun.com/exclusive-mode-eni-type: eniOnly a los nodos.

    Agregue también un taint para evitar que se programen en este pool los pods que no requieran una ENI exclusiva.

    Importante

    Agregue la etiqueta durante la creación del node pool. Los nodos existentes no pueden cambiar al modo de ENI exclusiva. Si la etiqueta es incorrecta, elimine y vuelva a crear el node pool.

  2. Consulte los recursos asignables en un nodo para comprobar que el modo de ENI exclusiva está habilitado:

    kubectl describe node <node-name> 

    Salida esperada:

    Capacity:
      aliyun/eni:         7
      cpu:                16
      ephemeral-storage:  123460788Ki
      hugepages-1Gi:      0
      hugepages-2Mi:      0
      memory:             31555380Ki
      pods:               213
    Allocatable:
      aliyun/eni:         7
      cpu:                15890m
      ephemeral-storage:  113781462033
      hugepages-1Gi:      0
      hugepages-2Mi:      0
      memory:             28587828Ki
      pods:               213

    El campo aliyun/eni confirma que el modo de ENI exclusiva está habilitado.

3. Programar pods en el node pool de ENI exclusiva

Use NodeAffinity o un recurso personalizado PodNetworking para programar pods en el node pool de ENI exclusiva.

  • NodeAffinity: No admite configuraciones a nivel de pod, como IP fija, vSwitch independiente o security group.

  • PodNetworking: Admite configuraciones de vSwitch, security group e IP fija a nivel de pod. Consulte Configure a fixed IP address, an independent virtual switch, and a security group for a pod.

    Establezca eniType como ENI en el campo eniOptions para programar pods en el node pool de ENI exclusiva. Ejemplo:

    apiVersion: network.alibabacloud.com/v1beta1
    kind: PodNetworking
    metadata:
      name: enionly
    spec:
      eniOptions:
        eniType: ENI
      allocationType:
        type: Elastic
      selector:
        podSelector:
          matchLabels:
            network: enionly

Preguntas frecuentes

Verificación de la ENI exclusiva de un pod

Terway crea automáticamente un recurso PodENI con el mismo nombre y namespace que el pod para registrar su configuración de red.

Consulte el recurso:

kubectl get podeni nginx-9d557694f-rcdzs -oyaml

Salida esperada:

apiVersion: network.alibabacloud.com/v1beta1
kind: PodENI
metadata:
  annotations:
    k8s.aliyun.com/pod-uid: 05590939-fc51-47ab-a204-3dd187233bca
  creationTimestamp: "2024-09-13T08:09:27Z"
  finalizers:
  - pod-eni
  generation: 1
  labels:
    k8s.aliyun.com/node: cn-hangzhou.172.XX.XX.25
  name: example-9d557694f-rcdzs
  namespace: default
  resourceVersion: "1131123"
spec:
  allocations:
  - allocationType:
      type: Elastic
    eni:
      attachmentOptions: {}
      id: eni-xxxx
      mac: 00:16:3e:37:xx:xx
      securityGroupIDs:
      - sg-xxxx
      vSwitchID: vsw-xxxx
      zone: cn-hangzhou-j
    ipv4: 172.16.0.30
    ipv4CIDR: 172.16.0.0/24
    ipv6: 2408:4005:xxxx:xxxx:xxxx:xxxx:xxxx:9ad4
    ipv6CIDR: 2408:4005:39c:xxxx::/64
  zone: cn-hangzhou-j
status:
  eniInfos:
    eni-xxxx:
      id: eni-xxxx
      status: Bind
      type: Secondary
  instanceID: i-xxxx
  phase: Bind