Terway adalah plug-in CNI sumber terbuka untuk VPC Alibaba Cloud yang mendukung kebijakan jaringan Kubernetes standar guna menentukan kebijakan akses antar kontainer.
Sebelum memulai
Baca topik ini untuk memahami cara kerja Terway sebelum menggunakan plugin jaringan kontainer Terway.
Pertama, baca Ikhtisar jaringan dan Plugin CNI Terway vs. Flannel untuk memahami konsep dasar plugin jaringan kontainer dan memilih salah satunya.
Sebelum membuat kluster, Anda harus merencanakan blok CIDR-nya. Untuk informasi selengkapnya, lihat Perencanaan jaringan kluster ACK yang dikelola.
Penagihan
Plugin Terway tidak dikenai biaya. Namun, Terway men-deploy Pod ke setiap node, yang mengonsumsi sejumlah kecil sumber daya node. Untuk detail penagihan layanan cloud ACK, lihat Biaya sumber daya cloud.
Penting
Berkas konfigurasi Terway eni-config berisi parameter sistem kritis. Memodifikasi atau menghapus bidang yang tidak secara eksplisit diizinkan untuk dikonfigurasi pengguna dapat menyebabkan gangguan jaringan atau mencegah pembuatan Pod. Untuk informasi tentang parameter yang dapat Anda sesuaikan, lihat Sesuaikan parameter Terway.
Komponen Terway menggunakan CRD untuk melacak status sumber daya. Jangan memodifikasi sumber daya sistem ini secara manual. Perubahan tanpa izin dapat menyebabkan gangguan jaringan atau mencegah pembuatan Pod.
Nama sumber daya | Jenis sumber daya | Operasi CRD pengguna | Operasi CR pengguna |
podnetworkings.network.alibabacloud.com | Sumber daya pengguna | Tidak | Ya |
podenis.network.alibabacloud.com | Sumber daya sistem | Tidak | Tidak |
networkinterfaces.network.alibabacloud.com | Sumber daya sistem | Tidak | Tidak |
nodes.network.alibabacloud.com | Sumber daya sistem | Tidak | Tidak |
noderuntimes.network.alibabacloud.com | Sumber daya sistem | Tidak | Tidak |
*.cilium.io | Sumber daya sistem | Tidak | Tidak |
*.crd.projectcalico.org | Sumber daya sistem | Tidak | Tidak |
Jumlah maksimum Pod per node
Saat menggunakan plugin jaringan Terway, jumlah maksimum Pod yang dapat dijalankan oleh sebuah node bergantung pada jumlah elastic network interfaces (ENIs) yang didukung oleh tipe instans ECS-nya. Terway memberlakukan batas minimum jumlah Pod, yang harus dipenuhi setiap node agar berhasil ditambahkan ke kluster.
Mode Terway | Batas Pod | Contoh | Jumlah Pod IP statis |
mode ENI bersama | (Jumlah ENI yang didukung oleh tipe instans ECS - 1) × Jumlah alamat IP pribadi per ENI. (EniQuantity - 1) × EniPrivateIpAddressQuantity Catatan Sebuah node harus mendukung lebih dari 11 Pod agar dapat bergabung ke kluster. | Sebagai contoh, pertimbangkan instans tipe ecs.g7.4xlarge dari keluarga instans tujuan umum g7. Tipe instans ini mendukung 8 ENI, dan setiap ENI mendukung 30 alamat IP pribadi. Jumlah maksimum Pod per node dihitung sebagai (8 - 1) × 30 = 210 Pod. Penting Jumlah maksimum Pod yang menggunakan ENI node ditetapkan oleh tipe instans node tersebut. Memodifikasi parameter | 0 |
mode ENI bersama + Trunk ENI | Jumlah maksimum Pod Trunk per node: Total antarmuka jaringan untuk tipe instans ECS - Jumlah ENI yang didukung oleh tipe instans ECS. EniTotalQuantity - EniQuantity | ||
mode ENI eksklusif | Instans ECS: Jumlah ENI yang didukung oleh tipe instans ECS - 1. EniQuantity - 1 Instans Lingjun: Kuota ENI Lingjun - 1. LeniQuota - 1 Catatan Sebuah node harus mendukung lebih dari 6 Pod agar dapat bergabung ke kluster. | Sebagai contoh, instans ECS tipe ecs.g7.4xlarge mendukung 8 ENI. Jumlah maksimum Pod per node adalah (8 - 1) = 7 Pod. | Jumlah ENI yang didukung oleh tipe instans ECS - 1. EniQuantity - 1 Catatan Instans Lingjun tidak didukung. |
Pada Terway v1.11.0 dan versi lebih baru, Anda dapat memilih mode ENI eksklusif atau mode ENI bersama untuk kelompok node. Kelompok node yang menggunakan mode berbeda dapat berada dalam kluster yang sama. Untuk informasi selengkapnya, lihat Catatan rilis Terway.
Periksa jumlah Pod yang didukung
Metode 1: Saat membuat kelompok node, periksa kolom Kompatibilitas Terway (Pod yang Didukung) di bagian Instance Type untuk melihat jumlah Pod yang didukung.
Metode 2: Dapatkan nilai yang diperlukan dengan salah satu metode berikut, lalu hitung secara manual jumlah Pod yang didukung oleh tipe instans ECS.
Lihat dokumentasi keluarga instans untuk menemukan jumlah maksimum elastic network interfaces yang didukung oleh instans ECS.
Gunakan OpenAPI Explorer. Tentukan tipe instans dari node yang sudah ada untuk parameter
InstanceTypesdan klik Initiate Call. Dalam respons,EniQuantityadalah jumlah maksimum elastic network interfaces yang didukung oleh tipe instans,EniPrivateIpAddressQuantityadalah jumlah alamat IP pribadi per ENI, danEniTotalQuantityadalah jumlah total antarmuka jaringan yang didukung oleh tipe instans.
Instal plugin jaringan Terway
Anda harus menginstal plugin jaringan Terway saat membuat kluster. Anda tidak dapat mengubah jenis plugin jaringan untuk kluster yang sudah ada.
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, klik Create Kubernetes Cluster.
Konfigurasikan parameter jaringan utama untuk plugin jaringan Terway. Untuk parameter pembuatan kluster lainnya, lihat Buat kluster ACK yang dikelola.
Parameter
Deskripsi
IPv6 Dual-stack
Pilih Enable untuk membuat kluster dual-stack yang mendukung alamat IPv4 dan IPv6.
Hanya didukung untuk Kubernetes 1.22 atau lebih baru, hanya dengan Terway, dan tidak dapat digunakan bersama eRDMA.
Kluster mendukung protokol IPv4 dan IPv6, tetapi komunikasi antara node pekerja dan lapisan kontrol tetap menggunakan alamat IPv4. Pastikan hal berikut:
VPC kluster mendukung dual-stack IPv6.
Saat menggunakan Terway dalam mode ENI bersama, tipe instans node harus mendukung IPv6 dan memiliki jumlah alamat IPv4 dan IPv6 yang dapat ditetapkan sama.
VPC
VPC untuk kluster.
Network Plug-in
Pilih Terway.
DataPath V2
Pilih opsi ini untuk mengaktifkan mode akselerasi DataPath V2. Dalam mode ini, Terway menggunakan jalur penerusan trafik yang berbeda dari mode ENI bersama standar untuk menyediakan akselerasi jaringan. Untuk informasi selengkapnya, lihat Praktik terbaik Terway dengan Datapath V2.
CatatanUntuk kluster baru yang menjalankan Kubernetes 1.34 atau lebih baru dan menggunakan DataPath V2, kube-proxy tidak lagi berjalan di node Terway.
Mode ini mencakup dukungan bawaan untuk portmap, sehingga Anda tidak perlu mengonfigurasi plugin portmap. Untuk informasi selengkapnya, lihat Konfigurasikan rantai CNI kustom.
DataPath V2 hanya didukung pada citra sistem operasi berikut dan memerlukan kernel Linux 5.10 atau lebih baru:
Alibaba Cloud Linux 4
Alibaba Cloud Linux 3 (semua versi)
ContainerOS
Ubuntu
Saat diaktifkan, kontainer kebijakan Terway di setiap node pekerja diperkirakan mengonsumsi tambahan 0,5 core CPU dan 512 MB memori. Konsumsi sumber daya ini meningkat seiring ukuran kluster. Dalam konfigurasi Terway default, batas CPU untuk kontainer kebijakan adalah 1 core, dan tidak ada batas memori.
Dalam mode DataPath V2, informasi pelacakan koneksi jaringan kontainer (conntrack) disimpan dalam peta eBPF. Mirip dengan mekanisme conntrack native di Linux, eBPF conntrack menggunakan algoritma Least Recently Used (LRU). Saat peta penuh, catatan koneksi tertua dihapus untuk memberi ruang bagi yang baru. Konfigurasikan parameter terkait berdasarkan beban kerja Anda untuk mencegah melebihi batas koneksi. Untuk informasi selengkapnya, lihat Optimalkan konfigurasi conntrack dalam mode Terway.
Dukungan NetworkPolicy
Pilih opsi ini untuk mengaktifkan
NetworkPolicyKubernetes native.CatatanMulai dari Terway v1.9.2, NetworkPolicy untuk kluster baru diimplementasikan oleh eBPF, dan fitur DataPath V2 diaktifkan untuk bidang data.
Fitur yang memungkinkan Anda mengelola sumber daya
NetworkPolicydi konsol sedang dalam pratinjau publik. Untuk menggunakan fitur ini, ajukan permintaan di Konsol Quota Center.
Support for ENI Trunking
Pilih opsi ini untuk mengaktifkan mode Trunk ENI. Ini memungkinkan Anda menetapkan alamat IP statis, vSwitch independen, dan grup keamanan terpisah untuk setiap Pod.
CatatanAnda dapat mengaktifkan Trunk ENI untuk kluster ACK yang dikelola tanpa mengajukan permintaan. Jika ingin mengaktifkan Trunk ENI untuk kluster ACK khusus, ajukan permintaan terlebih dahulu di Konsol Quota Center.
Untuk kluster ACK yang dikelola baru yang menjalankan Kubernetes 1.31 atau lebih baru, fitur Trunk ENI diaktifkan secara otomatis. Anda tidak perlu memilihnya secara manual.
vSwitch
vSwitch untuk node kluster. Untuk ketersediaan tinggi, kami merekomendasikan memilih vSwitch dari minimal tiga zona ketersediaan berbeda.
Pod vSwitch
vSwitch untuk Pod. Ini dapat sama dengan vSwitch node.
Service CIDR
Blok CIDR untuk Layanan Kubernetes. Blok CIDR ini tidak boleh tumpang tindih dengan blok CIDR node atau blok CIDR Pod.
IPv6 Service CIDR Block
Anda dapat mengonfigurasi parameter ini hanya setelah mengaktifkan dual-stack IPv6.
Mode kerja Terway
Topik ini membandingkan mode Terway dan cara kerjanya.
Mode ENI bersama dan mode ENI eksklusif
Terway menyediakan dua mode untuk menetapkan alamat IP ke Pod: mode ENI bersama dan mode ENI eksklusif.
Pada Terway v1.11.0 dan versi lebih baru, Anda dapat memilih mode ENI bersama atau mode ENI eksklusif untuk kelompok node. Opsi ini tidak lagi tersedia di tingkat kluster saat pembuatan.
Sistem operasi (OS) node menggunakan ENI primer. Terway mengelola ENI yang tersisa untuk mengonfigurasi jaringan Pod. Jangan mengonfigurasi ENI ini secara manual. Jika perlu mengelola beberapa ENI sendiri, lihat Konfigurasikan filter untuk ENI.
Item | Mode ENI bersama | Mode ENI eksklusif | |
Pengelolaan alamat IP Pod | Alokasi ENI | Beberapa Pod berbagi satu ENI. | Setiap Pod diberi ENI khusus di nodenya. |
Kerapatan penempatan Pod | Kerapatan tinggi, mendukung ratusan Pod pada satu node. | Kerapatan rendah. Node tipikal hanya mendukung beberapa Pod. | |
Arsitektur jaringan | |||
Jalur data | Saat Pod berkomunikasi dengan Pod lain atau diakses sebagai backend Layanan, trafik melewati stack jaringan node. | Saat sebuah Pod mengakses Service, lalu lintas tetap melewati stack jaringan OS node. Namun, untuk komunikasi antar-Pod atau ketika sebuah Pod berperan sebagai backend Service, lalu lintas langsung melewati stack jaringan node menggunakan ENI yang terpasang, sehingga meningkatkan kinerja. | |
Skenario | Beban kerja Kubernetes tujuan umum. | Memberikan kinerja jaringan yang sebanding dengan mesin virtual, sehingga ideal untuk aplikasi yang memerlukan throughput jaringan tinggi atau latensi rendah. | |
Akselerasi jaringan | Mendukung DataPath V2 untuk akselerasi jaringan. Untuk informasi selengkapnya, lihat Akselerasi jaringan. | Akselerasi jaringan tidak didukung. Mode ini sudah memberikan kinerja jaringan yang sangat baik karena setiap Pod memiliki ENI khusus. | |
Dukungan NetworkPolicy | Mendukung | Tidak mendukung | |
Konfigurasi jaringan tingkat node | Didukung. Untuk informasi selengkapnya, lihat Konfigurasi jaringan tingkat node. | Didukung. Untuk informasi selengkapnya, lihat Konfigurasi jaringan tingkat node. | |
Kontrol akses | Saat Trunk ENI diaktifkan, Anda dapat mengonfigurasi alamat IP statis, vSwitch terpisah, dan grup keamanan terpisah untuk setiap Pod. Untuk informasi selengkapnya, lihat Konfigurasikan alamat IP statis, vSwitch terpisah, dan grup keamanan untuk Pod. | Memungkinkan Anda mengonfigurasi alamat IP statis, vSwitch terpisah, dan grup keamanan terpisah untuk setiap Pod. | |
Akselerasi jaringan
Dalam mode ENI bersama, Anda dapat mengaktifkan akselerasi jaringan. Ini menggunakan jalur penerusan trafik yang berbeda dari mode standar untuk mencapai kinerja lebih tinggi. Terway saat ini mendukung mode akselerasi DataPath V2. Bagian berikut menjelaskan fitur-fiturnya.
DataPath V2 adalah versi peningkatan dari mode akselerasi IPvlan+eBPF sebelumnya. Pada Terway V1.8.0 dan versi lebih baru, DataPath V2 adalah satu-satunya mode akselerasi yang tersedia saat membuat kluster dan menginstal plugin Terway.
Mode akselerasi DataPath V2 dan IPvlan+eBPF hanya berlaku untuk kelompok node dalam mode ENI bersama dan tidak memengaruhi kelompok node dalam mode ENI eksklusif.
Fitur DataPath V2 | Deskripsi |
Versi Terway yang berlaku | Kluster yang dibuat dengan Terway v1.8.0 atau lebih baru. |
Arsitektur jaringan | |
Jalur data yang dipercepat |
|
Optimasi kinerja |
|
Penggunaan | Saat membuat kluster, atur Network Plug-in ke Terway lalu pilih opsi DataPath V2. |
Catatan penggunaan |
|
Mode akselerasi IPvlan+eBPF mungkin masih digunakan pada kluster lama. Fitur-fiturnya dijelaskan di bawah ini.
Kontrol akses
Terway menawarkan manajemen trafik detail halus. Dalam mode ENI bersama, ini dicapai melalui NetworkPolicy dan opsi Trunk ENI. Mode ENI eksklusif juga menyediakan kemampuan pengendalian trafik.
NetworkPolicy
Kelompok node dalam mode ENI eksklusif tidak mendukung
NetworkPolicy.Kelompok node dalam mode ENI bersama mendukung
NetworkPolicyKubernetes native, yang memungkinkan Anda mengontrol trafik jaringan antar Pod menggunakan aturan yang ditentukan pengguna.Saat membuat kluster, Anda dapat mengaktifkan
NetworkPolicydengan memilih Terway sebagai Network Plug-in dan memilih opsi Dukungan NetworkPolicy. Untuk informasi selengkapnya, lihat Gunakan kebijakan jaringan di kluster ACK.CatatanFitur yang memungkinkan Anda mengelola sumber daya
NetworkPolicydi konsol sedang dalam pratinjau publik. Untuk menggunakan fitur ini, ajukan permintaan di Konsol Quota Center.
IP statis, vSwitch, dan grup keamanan
Kelompok node dalam mode ENI eksklusif secara inheren mendukung penetapan alamat IP statis, vSwitch terpisah, dan grup keamanan terpisah untuk setiap Pod. Ini memungkinkan manajemen trafik detail halus, isolasi jaringan, konfigurasi kebijakan, dan manajemen alamat IP.
Untuk kelompok node dalam mode ENI bersama, fitur opsional Trunk ENI memungkinkan Anda mengonfigurasi alamat IP statis, vSwitch terpisah, dan grup keamanan terpisah untuk setiap Pod.
Untuk mengaktifkan fitur ini, atur Network Plug-in ke Terway lalu pilih opsi Support for ENI Trunking saat membuat kluster Anda. Untuk informasi selengkapnya, lihat Konfigurasikan alamat IP statis, vSwitch terpisah, dan grup keamanan untuk Pod.
CatatanAnda dapat mengaktifkan Trunk ENI untuk kluster ACK yang dikelola tanpa mengajukan permintaan. Jika ingin mengaktifkan Trunk ENI untuk kluster ACK khusus, ajukan permintaan terlebih dahulu di Konsol Quota Center.
Untuk kluster ACK yang dikelola baru yang menjalankan Kubernetes 1.31 atau lebih baru, fitur Trunk ENI diaktifkan secara otomatis. Anda tidak perlu memilihnya secara manual.
Setelah mengaktifkan mode Trunk ENI, komponen terway-eniip dan terway-controlplane diinstal.
Batas penskalaan
Terway memanggil OpenAPI produk cloud untuk mengelola antarmuka jaringan dan alamat IP node. Untuk batas penggunaan operasi ini, lihat dokumentasi masing-masing produk cloud.
mode ENI bersama: Maksimal 500 node dapat dialokasikan secara bersamaan.
mode ENI eksklusif/TrunkENI: Maksimal 100 Pod dapat dialokasikan secara bersamaan.
Kuota ini tetap.
Konfigurasi bidang data
Bidang data Terway bergantung pada urutan tepat dan integritas konfigurasi tingkat kernel-nya. Modifikasi tidak terkoordinasi terhadap hook IP rule, IP route, atau eBPF oleh komponen eksternal—termasuk penyesuaian prioritas, penggantian aturan, atau pembongkaran program—dapat menyebabkan kegagalan parah seperti gangguan jaringan Pod, kebijakan jaringan tidak efektif, dan pengalihan trafik yang tidak diinginkan. Validasi ketat semua komponen pihak ketiga sebelum integrasi untuk mencegah konflik.
Aturan filter TC
Antarmuka | Arah | Program | Prioritas | Fungsi |
ethx | toContainer | VLAN Untag | 20000 | Hapus tag VLAN |
ethx | toContainer | cil_from_netdev | 25000 | Cilium svc/kebijakan jaringan |
veth | toContainer | cil_to_container | 25000 | Kebijakan jaringan/svc Cilium |
veth | fromContainer | cil_from_container | 25000 | Layanan/kontrol kebijakan jaringan Cilium |
ethx | fromContainer | cil_to_netdev | 25000 | Layanan/kontrol kebijakan jaringan Cilium |
ethx | fromContainer | VLAN Tag | 50001 | Tambahkan tag VLAN |
Aturan IP
Arah | Prioritas | Tabel routing |
toContainer | 512 | 1000 + linkIndex (indeks ENI) |
fromContainer | 512 | 1000 + linkIndex (indeks ENI) |
FAQ
Mengidentifikasi mode ENI Terway
Pada Terway v1.11.0 dan versi lebih baru, Terway menggunakan mode ENI bersama secara default. Anda dapat mengaktifkan mode ENI eksklusif dengan mengonfigurasi mode jaringan ENI eksklusif untuk kelompok node.
Untuk versi Terway sebelum v1.11.0, Anda dapat memilih mode ENI eksklusif atau mode ENI bersama saat pembuatan kluster. Setelah membuat kluster, Anda dapat mengidentifikasi mode sebagai berikut:
Mode ENI eksklusif: DaemonSet Terway di namespace kube-system bernama
terway-eni.Mode ENI bersama: DaemonSet Terway di namespace kube-system bernama
terway-eniip.
Penggantian plugin jaringan
Tidak. Plugin jaringan, baik Terway maupun Flannel, hanya dapat dipilih saat pembuatan kluster dan tidak dapat diubah setelahnya. Untuk mengganti plugin, Anda harus membuat kluster baru. Untuk informasi selengkapnya, lihat Buat kluster ACK yang dikelola.