Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Configure exclusive ENI mode for a node pool

Dernière mise à jour :Aug 11, 2026

Attribuez une ENI exclusive à chaque pod pour bénéficier d'un débit élevé, d'une latence ultra-faible et de la prise en charge du multicast.

Limites

  • Les instances ECS nécessitent Terway v1.11.0 ou une version ultérieure ; les instances Lingjun nécessitent la v1.14.3 ou une version ultérieure. Consultez Terway pour mettre à niveau.

  • Lorsque la double pile est activée, l'ajout de nœuds suit les mêmes restrictions de type d'instance que le mode ENI partagé : le nombre d'adresses IPv4 (principales et secondaires) doit être égal au nombre d'adresses IPv6. Reportez-vous à la rubrique famille d'instances pour connaître les nombres pris en charge.

  • Les instances Lingjun ne prennent pas en charge la double pile.

  • Les pods dotés d'une ENI exclusive ne prennent pas en charge l'accélération réseau eBPF ni Kubernetes NetworkPolicy.

  • Le mode ENI exclusif requiert de nouveaux nœuds. Les nœuds existants ajoutés au pool n'utilisent pas leurs ENI attachées.

  • Le mode ENI exclusif s'applique uniquement aux nouveaux nœuds. Il est impossible de basculer entre les modes ENI partagé et exclusif après la création du pool de nœuds.

  • Il est impossible de configurer une chaîne CNI personnalisée.

Configuration du réseau de conteneurs au niveau du pool de nœuds

Terway propose l'ENI exclusive en tant que mode de mise en réseau au niveau du pool de nœuds. Pour plus d'informations, consultez la rubrique Mode ENI partagé et mode ENI exclusif.

1. Planifier le pool de nœuds ENI exclusif

  • En mode ENI exclusif, chaque nœud prend en charge moins de pods et nécessite plus de six ENI. Consultez la rubrique famille d'instances pour connaître le nombre d'ENI par type d'instance.

  • Planifiez les vSwitches et les groupes de sécurité pour vos pods.

Terway prend en charge les méthodes de configuration suivantes, classées par ordre de priorité décroissante :

2. Créer un pool de nœuds ENI exclusif et vérifier la configuration

  1. Suivez les instructions de la rubrique Créer et gérer des pools de nœuds pour créer un pool de nœuds, et ajoutez le libellé k8s.aliyun.com/exclusive-mode-eni-type: eniOnly aux nœuds.

    Ajoutez également une taint pour empêcher la planification des pods ne nécessitant pas d'ENI exclusive dans ce pool.

    Important

    Ajoutez le libellé lors de la création du pool de nœuds. Les nœuds existants ne peuvent pas passer en mode ENI exclusif. Si le libellé est incorrect, supprimez et recréez le pool de nœuds.

  2. Interrogez les ressources allouables sur un nœud pour vérifier que le mode ENI exclusif est activé :

    kubectl describe node <node-name> 

    Sortie attendue :

    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

    Le champ aliyun/eni confirme que le mode ENI exclusif est activé.

3. Planifier les pods dans le pool de nœuds ENI exclusif

Utilisez NodeAffinity ou une ressource personnalisée PodNetworking pour planifier les pods dans le pool de nœuds ENI exclusif.

  • NodeAffinity : ne prend pas en charge les configurations au niveau du pod telles que l'IP fixe, le vSwitch indépendant ou le groupe de sécurité.

  • PodNetworking : prend en charge les configurations de vSwitch, de groupe de sécurité et d'IP fixe au niveau du pod. Consultez la rubrique Configurer une adresse IP fixe, un vSwitch indépendant et un groupe de sécurité pour un pod.

    Définissez eniType sur ENI dans le champ eniOptions pour planifier les pods dans le pool de nœuds ENI exclusif. Exemple :

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

FAQ

Vérification de l'ENI exclusive d'un pod

Terway crée automatiquement une ressource PodENI portant le même nom et se trouvant dans le même namespace que le pod pour enregistrer sa configuration réseau.

Interrogez la ressource :

kubectl get podeni nginx-9d557694f-rcdzs -oyaml

Sortie attendue :

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