全部产品
Search
文档中心

Container Service for Kubernetes:Mengonfigurasi mode jaringan ENI eksklusif untuk kelompok node

更新时间:Nov 12, 2025

Mode elastic network interface (ENI) eksklusif adalah kebijakan yang memberikan kinerja jaringan optimal untuk Pod. Mode ini ideal untuk skenario dengan persyaratan kinerja jaringan yang ketat, seperti analitik data besar, pemrosesan aliran real-time, aplikasi yang sensitif terhadap latensi jaringan (misalnya streaming video, game online, atau komputasi ilmiah), serta perdagangan frekuensi tinggi yang memerlukan kemampuan multicast.

Batasan

  • Untuk menambahkan Instance ECS, diperlukan Terway v1.11.0 atau versi lebih baru. Untuk menambahkan instance Node Lingjun, diperlukan Terway v1.14.3 atau versi lebih baru. Untuk memperbarui komponen, lihat Terway.

  • Setelah Anda mengaktifkan dual-stack untuk kluster, batasan tipe instans ECS pada mode ENI bersama berlaku saat menambahkan node. Jumlah alamat IPv4 dan IPv6 harus dalam rasio 1:1. Untuk informasi selengkapnya tentang jumlah alamat IPv4 dan IPv6 yang didukung oleh Instance ECS, lihat Instance families.

  • Instance Node Lingjun tidak mendukung dual-stack IPv6.

  • Pod yang menggunakan ENI eksklusif tidak mendukung akselerasi jaringan eBPF atau NetworkPolicy.

  • Saat menggunakan ENI eksklusif, Anda harus menggunakan node baru. Jika menggunakan node yang sudah ada, ENI yang telah terpasang di node tersebut tidak akan digunakan.

  • Mode ENI eksklusif hanya berlaku pada node baru. Setelah kelompok node dikonfigurasi, Anda tidak dapat mengubahnya ke mode ENI bersama, maupun mengubah node yang sudah ada dari mode ENI bersama ke mode ENI eksklusif.

Mengonfigurasi jaringan kontainer untuk kelompok node

ENI eksklusif adalah mode kelompok node yang disediakan oleh Terway. Untuk perbandingan mendetail antara mode ENI eksklusif dan mode ENI bersama, lihat Shared ENI mode and exclusive ENI mode. Ikuti prosedur berikut untuk merencanakan dan membuat kelompok node yang menggunakan ENI eksklusif. Setelah kelompok node dibuat, Anda dapat menjadwalkan Pod ke dalamnya.

1. Rencanakan kelompok node ENI eksklusif

  • Dalam mode ENI eksklusif, jumlah maksimum Pod per node lebih kecil. Node pekerja harus memiliki lebih dari enam ENI agar dapat ditambahkan ke kluster. Untuk informasi selengkapnya tentang cara menghitung jumlah ENI, lihat Instance families.

  • Rencanakan vSwitch dan grup keamanan untuk Pod.

Terway mendukung beberapa metode konfigurasi, yang disusun berdasarkan prioritas menurun:

2. Buat kelompok node ENI eksklusif dan verifikasi bahwa mode tersebut diaktifkan

  1. Buat kelompok node. Untuk informasi selengkapnya, lihat Create and manage a node pool. Selama proses pembuatan, tambahkan label k8s.aliyun.com/exclusive-mode-eni-type: eniOnly ke node.

    Konfigurasikan juga taint untuk mencegah Pod lain dijadwalkan ke kelompok node ENI eksklusif.

    Penting

    Konfigurasikan label saat membuat kelompok node. Anda tidak dapat mengubah node yang sudah ada ke mode ENI eksklusif. Jika label salah dikonfigurasi, hapus kelompok node tersebut dan buat kembali.

  2. Jalankan perintah berikut untuk mengkueri sumber daya yang dapat dialokasikan dari node dan memverifikasi bahwa mode ENI eksklusif telah diaktifkan:

    kubectl describe node <node-name>

    Output yang diharapkan:

    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

    Jika output berisi aliyun/eni, maka mode ENI eksklusif telah diaktifkan.

3. Jadwalkan Pod ke kelompok node ENI eksklusif

Anda dapat menggunakan NodeAffinity atau Definisi Sumber Daya Kustom (CRD) PodNetworking untuk menjadwalkan Pod ke kelompok node ENI eksklusif.

  • NodeAffinity: Metode ini tidak mendukung konfigurasi tingkat Pod, seperti menetapkan alamat IP statis atau mengonfigurasi vSwitch dan grup keamanan independen.

  • PodNetworking: Metode ini mendukung pengonfigurasian vSwitch, grup keamanan, dan alamat IP statis untuk Pod. Untuk informasi selengkapnya, lihat Configure a static IP address, an independent vSwitch, and a security group for a pod.

    File YAML berikut merupakan contoh. Di bidang eniOptions, atur eniType menjadi ENI untuk menjadwalkan Pod ke kelompok node ENI eksklusif.

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

FAQ

Bagaimana cara menentukan apakah sebuah Pod menggunakan ENI eksklusif?

Terway membuat sumber daya PodENI yang memiliki nama dan namespace yang sama dengan Pod tersebut. Sumber daya ini mencatat informasi konfigurasi jaringan Pod.

Anda dapat mengkueri sumber daya tersebut sebagai berikut:

kubectl get podeni nginx-9d557694f-rcdzs -oyaml

Output yang diharapkan:

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