Membuat cluster tanpa kube-proxy

Dokumen ini menunjukkan cara membuat cluster yang tidak menggunakan kube-proxy.

kube-proxy adalah pengontrol yang berjalan di setiap node pekerja dalam cluster. Fitur ini memantau objek Layanan Kubernetes, dan membuat aturan iptables untuk meneruskan paket yang dikirim ke alamat Layanan. Alternatif untuk menggunakan kube-proxy dan iptables untuk tujuan ini adalah menggunakan Dataplane V2 dalam mode penggantian kube-proxy. Hal ini memungkinkan penghapusan 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 kernel versi 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

  • Hindari konsumsi resource yang diperlukan untuk mempertahankan kumpulan besar aturan iptables.

  • Meningkatkan performa. Membuat aturan iptables memerlukan waktu, 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"
...

Memverifikasi bahwa 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