Halaman ini memberikan ringkasan tentang fungsi GKE Dataplane V2 dan cara kerjanya.
Sebelum membaca halaman ini, Anda harus memahami jaringan di dalam cluster GKE.
Ringkasan GKE Dataplane V2
GKE Dataplane V2 adalah pesawat data yang dioptimalkan untuk jaringan Kubernetes. GKE Dataplane V2 menyediakan:
- Pengalaman pengguna yang konsisten untuk networking.
- Visibilitas aktivitas jaringan secara real-time.
- Arsitektur lebih sederhana yang memudahkan pengelolaan dan pemecahan masalah cluster.
GKE Dataplane V2 diaktifkan untuk semua cluster Autopilot baru dalam versi 1.22.7-gke.1500 dan yang lebih baru, 1.23.4-gke.1500 dan yang lebih baru, serta semua versi 1.24 dan yang lebih baru.
Cara kerja GKE Dataplane V2
GKE Dataplane V2 diimplementasikan menggunakan
eBPF.
Saat paket tiba di node GKE, program eBPF yang diinstal di
kernel akan memutuskan cara merutekan dan memproses paket. Tidak seperti pemrosesan paket
dengan iptables
, program eBPF
dapat menggunakan metadata khusus Kubernetes dalam paket. Hal ini memungkinkan
GKE Dataplane V2 memproses paket jaringan dalam kernel secara lebih efisien dan
melaporkan kembali tindakan yang dianotasi ke ruang pengguna untuk logging.
Diagram berikut menunjukkan jalur paket melalui node menggunakan GKE Dataplane V2:
GKE men-deploy pengontrol GKE Dataplane V2 sebagai
DaemonSet
bernama anetd
ke setiap node dalam cluster. anetd
menginterpretasikan objek Kubernetes
dan memprogram topologi jaringan di eBPF. Pod anetd
berjalan di
namespace kube-system
.
GKE Dataplane V2 dan NetworkPolicy
GKE Dataplane V2 diimplementasikan menggunakan Cilium. Bidang data lama untuk GKE diimplementasikan menggunakan Calico.
Kedua teknologi ini mengelola
NetworkPolicy Kubernetes.
Cilium menggunakan eBPF dan Calico Container Network Interface (CNI) menggunakan
iptables
di kernel Linux.
Keuntungan GKE Dataplane V2
Skalabilitas
GKE Dataplane V2 memiliki karakteristik skalabilitas yang berbeda dengan bidang data lama.
Untuk versi GKE yang mana GKE Dataplane V2
tidak menggunakan kube-proxy
dan tidak mengandalkan iptables
untuk perutean layanan, GKE menghapus
beberapa bottleneck iptables
terkait, seperti jumlah Service.
GKE Dataplane V2 mengandalkan peta eBPF yang dibatasi hingga 64.000 endpoint di semua layanan.
Keamanan
Kubernetes NetworkPolicy selalu aktif dalam cluster dengan GKE Dataplane V2. Anda tidak perlu menginstal dan mengelola add-on software pihak ketiga seperti Calico untuk menerapkan kebijakan jaringan.
Operasi
Saat Anda membuat cluster dengan GKE Dataplane V2, logging kebijakan jaringan sudah bawaan. Konfigurasikan CRD logging di cluster Anda untuk melihat kapan koneksi diizinkan dan ditolak oleh Pod Anda.
Konsistensi
GKE Dataplane V2 memberikan pengalaman jaringan yang konsisten.
Untuk informasi selengkapnya, lihat Ketersediaan GKE Dataplane V2.
Spesifikasi teknis GKE Dataplane V2
GKE Dataplane V2 mendukung cluster dengan spesifikasi berikut:
Spesifikasi | GKE | GKE on VMware | Google Distributed Cloud Virtual untuk Bare Metal |
---|---|---|---|
Jumlah node per cluster | 5.000 | 500 | 500 |
Jumlah Pod per cluster | 50.000 | 15.000 | 27.500 |
Jumlah LoadBalancer Services per cluster | 750 | 500 | 1.000 |
GKE Dataplane V2 mempertahankan peta Service untuk melacak Service mana yang merujuk pada Pod mana sebagai backend-nya. Jumlah backend Pod untuk setiap Service yang dijumlahkan di seluruh Layanan harus sesuai dengan peta Service, yang dapat berisi hingga 64.000 entri. Jika batas ini terlampaui, cluster Anda mungkin tidak berfungsi sebagaimana mestinya.
Peningkatan batas node di versi 1.23
Mulai Kubernetes versi 1.23, batas 500 node per cluster GKE Dataplane V2 telah dinaikkan menjadi 5.000, dengan ketentuan tambahan berikut yang diberlakukan pada cluster:
- Cluster pribadi atau cluster publik yang menggunakan Private Service Connect. Untuk memeriksa apakah cluster Anda menggunakan Private Service Connect, lihat Cluster publik dengan Private Service Connect.
- Khusus cluster regional
- Hanya cluster yang dibuat dengan GKE versi 1.23 atau yang lebih baru yang memiliki peningkatan batas 5.000 node. Cluster yang dibuat dengan versi GKE sebelumnya mungkin memerlukan penghapusan kuota ukuran cluster. Hubungi dukungan untuk mendapatkan bantuan.
- Cluster yang menggunakan CRD Cilium (CiliumNetworkPolicy dan CiliumClusterwideNetworkPolicy) tidak dapat diskalakan ke 5.000 node.
Layanan LoadBalancer di GKE pada VMware
Jumlah Layanan LoadBalancer yang didukung di GKE di VMware bergantung pada mode load balancer yang digunakan. GKE di VMware mendukung 500 LoadBalancer Services saat menggunakan mode load balancing paket (Seesaw) dan 250 saat menggunakan mode load balancing terintegrasi dengan F5. Untuk mengetahui informasi selengkapnya, lihat Skalabilitas.
Batasan
GKE Dataplane V2 memiliki batasan berikut:
- GKE Dataplane V2 hanya dapat diaktifkan saat membuat cluster baru. Cluster yang ada tidak dapat diupgrade untuk menggunakan GKE Dataplane V2.
- Pada versi GKE sebelum 1.20.12-gke.500, jika mengaktifkan GKE Dataplane V2 dengan NodeLocal DNSCache, Anda tidak dapat mengonfigurasi Pod dengan
dnsPolicy: ClusterFirstWithHostNet
. Jika tidak, Pod Anda akan mengalami error resolusi DNS. - Mulai GKE versi 1.21.5-gke.1300, GKE Dataplane V2 tidak mendukung CiliumNetworkPolicy atau CiliumClusterwideNetworkPolicy CRD API.
- Load Balancer Jaringan passthrough internal yang dibuat secara manual yang terkait dengan Service jenis NodePort tidak didukung.
- Karena GKE Dataplane V2 mengoptimalkan pemrosesan paket kernel eBPF dengan menggunakan eBPF, performa Pod mungkin akan terpengaruh jika Anda memiliki workload yang memiliki churn Pod yang tinggi. Fokus utama GKE Dataplane V2 adalah mencapai eBPF yang optimal.
- GKE Dataplane V2 menggunakan
cilium
, bukankube-proxy
, untuk mengimplementasikan Service Kubernetes.kube-proxy
dikelola dan dikembangkan oleh komunitas Kubernetes, sehingga fitur baru untuk Service kemungkinan besar akan diimplementasikan dikube-proxy
sebelum diimplementasikan dicilium
untuk GKE Dataplane V2. Salah satu contoh fitur Layanan yang pertama kali diterapkan dikube-proxy
adalah KEP-1669: Proxy Terminating Endpoints. - Untuk Layanan NodePort yang menjalankan versi 1.25 atau yang lebih lama menggunakan rentang SNAT dan PUPI default, Anda harus menambahkan rentang PUPI Pod di
nonMasqueradeCIDRs
dalamip-masq-agent
ConfigMap untuk menghindari masalah konektivitas. - Dalam kasus tertentu, Pod agen GKE Dataplane V2 (
anetd
) dapat menggunakan resource CPU dalam jumlah besar, hingga dua atau tiga vCPU per instance. Hal ini terjadi saat ada volume koneksi TCP yang tinggi yang dibuka dan ditutup dengan cepat pada node. Untuk mengurangi masalah ini, sebaiknya implementasikan keep-alives untuk panggilan HTTP dan penggabungan koneksi untuk workload yang relevan. - Cluster GKE Dataplane V2 yang menjalankan bidang kontrol versi 1.27 atau yang lebih lama tidak
mendukung kolom Service
.spec.internalTrafficPolicy
. Kebijakan traffic internal yang efektif untuk layanan adalahCluster
; backend pada node mana pun dianggap sebagai kandidat untuk Resolusi Layanan. Untuk mengetahui informasi selengkapnya tentang kolom ini, lihat Kebijakan Traffic Internal Layanan.
GKE Dataplane V2 dan kube-proxy
GKE Dataplane V2 tidak menggunakan kube-proxy.
Penerapan kebijakan jaringan tanpa GKE Dataplane V2
Lihat Menggunakan penerapan kebijakan jaringan untuk mendapatkan petunjuk cara mengaktifkan penerapan kebijakan jaringan di cluster yang tidak menggunakan GKE Dataplane V2.
Langkah selanjutnya
- Baca Menggunakan GKE Dataplane V2.
- Pelajari cara Menggunakan logging kebijakan jaringan.