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:
Mengonfigurasi alamat IP statis, vSwitch independen, dan grup keamanan untuk Pod
Konfigurasi kluster default. Untuk informasi selengkapnya, lihat Menyesuaikan parameter Terway.
PentingPastikan konfigurasi mencakup vSwitch untuk zona tempat node berada. Jika tidak, Pod tidak dapat dibuat.
Kelompok node Node Lingjun tidak mendukung mengonfigurasi alamat IP statis, vSwitch independen, dan grup keamanan untuk Pod.
2. Buat kelompok node ENI eksklusif dan verifikasi bahwa mode tersebut diaktifkan
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: eniOnlyke node.Konfigurasikan juga taint untuk mencegah Pod lain dijadwalkan ke kelompok node ENI eksklusif.
PentingKonfigurasikan 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.
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: 213Jika 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, atureniTypemenjadiENIuntuk 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 -oyamlOutput 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