Membuat cluster tanpa kube-proxy

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