GKE Dataplane V2


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, bukan kube-proxy, untuk mengimplementasikan Service Kubernetes. kube-proxy dikelola dan dikembangkan oleh komunitas Kubernetes, sehingga fitur baru untuk Service kemungkinan besar akan diimplementasikan di kube-proxy sebelum diimplementasikan di cilium untuk GKE Dataplane V2. Salah satu contoh fitur Layanan yang pertama kali diterapkan di kube-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 dalam ip-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 adalah Cluster; 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