Dataplane V2 dalam mode kube-proxy-replacement memungkinkan Anda membuat cluster yang tidak menjalankan kube-proxy atau mengandalkan aturan iptables-nya. Menghapus kube-proxy
akan menghindari biaya resource untuk mengelola kumpulan aturan iptables yang besar dan
meningkatkan performa, terutama di cluster besar.
Pengontrol kube-proxy berjalan di setiap worker node dalam cluster. Proxy ini memantau objek Service Kubernetes dan membuat aturan iptables untuk meneruskan paket yang dikirim ke alamat Service. Dataplane V2
menangani penerusan ini, sehingga Anda dapat menghapus kube-proxy dari
cluster.
Sistem operasi yang didukung
Untuk membuat cluster yang tidak menggunakan kube-proxy, gunakan salah satu sistem operasi Red Hat Enterprise Linux yang didukung atau sistem operasi Ubuntu yang didukung dengan versi kernel 5.7.0 atau yang lebih baru. Jika cluster Anda menggunakan sistem operasi Ubuntu dengan versi kernel sebelum 5.7.0, fitur ini tidak didukung.
Keuntungan menghapus kube-proxy
Menghindari konsumsi resource yang diperlukan untuk mengelola sekumpulan besar aturan iptables.
Meningkatkan performa. Membuat aturan iptables memerlukan waktu yang lama, terutama untuk cluster besar.
Membuat cluster tanpa kube-proxy
Ikuti petunjuk di salah satu topik pembuatan cluster.
Saat Anda mengisi file konfigurasi cluster, sertakan anotasi berikut:
preview.baremetal.cluster.gke.io/kube-proxy-free: "enable"
Contoh:
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
name: alice
namespace: cluster-alice
annotations:
preview.baremetal.cluster.gke.io/kube-proxy-free: "enable"
...
Memastikan kube-proxy tidak ada di cluster Anda
Cantumkan DaemonSet di cluster:
kubectl --kubeconfig CLUSTER_KUBECONFIG \
get daemonsets --all-namespaces
Ganti CLUSTER_KUBECONFIG dengan jalur file kubeconfig cluster.
Pastikan kube-proxy tidak ada dalam daftar. Contoh:
kube-system anetd kube-system audit-proxy kube-system etcd-defrag kube-system gke-metrics-agent kube-system kube-control-plane-metrics-proxy kube-system localpv kube-system metallb-speaker kube-system node-exporter kube-system stackdriver-log-forwarder