すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:ノードプールの専用 ENI モードの設定

最終更新日:Jun 16, 2026

各 Pod に専用の ENI を割り当てることで、高スループット、超低レイテンシー、マルチキャストをサポートします。

制限事項

  • ECS インスタンスには Terway v1.11.0 以降、Lingjun インスタンスには v1.14.3 以降が必要です。アップグレードについては、「Terway」をご参照ください。

  • デュアルスタックが有効な場合、ノードの追加には共有 ENI モードと同じインスタンスタイプの制限が適用されます。つまり、IPv4 アドレス (プライマリおよびセカンダリ) の数は IPv6 アドレスの数と等しくなければなりません。サポートされる数については、「インスタンスファミリー」をご参照ください。

  • Lingjun インスタンスはデュアルスタックをサポートしていません。

  • 専用 ENI が割り当てられた Pod は、eBPF ネットワークアクセラレーションまたは Kubernetes NetworkPolicy をサポートしていません。

  • 専用 ENI モードには新しいノードが必要です。プールに既存のノードを追加した場合、そのノードにアタッチされている ENI は使用されません。

  • 専用 ENI モードは新しいノードにのみ適用されます。ノードプールの作成後に、共有 ENI モードと専用 ENI モードを切り替えることはできません。

  • カスタム CNI チェーンの設定はできません。

ノードプールレベルでのコンテナネットワークの設定

Terway は、ノードプールレベルのネットワークモードとして専用 ENI を提供します。詳細については、「共有 ENI モードと専用 ENI モード」をご参照ください。

1. 専用 ENI ノードプールの計画

  • 専用 ENI モードでは、各ノードがサポートする Pod の数が少なくなり、6 つを超える ENI が必要になります。インスタンスタイプごとの ENI 数については、「インスタンスファミリー」をご参照ください。

  • Pod 用の vSwitch とセキュリティグループを計画します。

Terway は、優先度の高い順に、次の設定方法をサポートしています。

2. 専用 ENI ノードプールの作成と設定の確認

  1. ノードプールの作成と管理」に従ってノードプールを作成し、ノードに k8s.aliyun.com/exclusive-mode-eni-type: eniOnly の label を追加します。

    また、専用 ENI を必要としない Pod がこのプールにスケジューリングされないように、Taint を追加します。

    重要

    label はノードプールの作成中に追加してください。既存のノードを専用 ENI モードに切り替えることはできません。label が正しくない場合は、ノードプールを削除して再作成してください。

  2. ノード上の割り当て可能なリソースを照会して、専用 ENI モードが有効になっていることを確認します。

    kubectl describe node <node-name>

    出力例:

    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

    aliyun/eni フィールドは、専用 ENI モードが有効になっていることを示します。

3. Podの専用 ENI ノードプールへのスケジューリング

NodeAffinity または PodNetworking カスタムリソースを使用して、Pod を専用 ENI ノードプールにスケジューリングします。

  • NodeAffinity:固定 IP、独立した vSwitch、セキュリティグループなどの Pod レベルの設定はサポートされていません。

  • PodNetworking:Pod レベルの vSwitch、セキュリティグループ、および固定 IP の設定をサポートしています。詳細については、「Pod への固定 IP アドレス、独立した vSwitch、およびセキュリティグループの設定」をご参照ください。

    eniOptions フィールドの eniTypeENI に設定して、Pod を専用 ENI ノードプールにスケジューリングします。例:

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

よくある質問

Pod の専用 ENI の確認

Terway は、Pod と同じ名前と名前空間の PodENI リソースを自動的に作成し、そのネットワーク設定を記録します。

リソースを照会します。

kubectl get podeni nginx-9d557694f-rcdzs -oyaml

出力例:

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: nginx-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