במצב kube-proxy-replacement של Dataplane V2, אפשר ליצור אשכולות שלא מריצים את kube-proxy או מסתמכים על כללי ה-iptables שלו. הסרת kube-proxy מונעת את עלות המשאבים של תחזוקת קבוצה גדולה של כללי iptables ומשפרת את הביצועים, במיוחד באשכולות גדולים.
הבקר kube-proxy פועל בכל צומת עובד באשכול. הוא עוקב אחרי אובייקטים של שירות Kubernetes ויוצר כללי iptables כדי להעביר חבילות שנשלחות לכתובות של שירותים. במקום זאת, Dataplane V2 מטפל בהעברה הזו, כך שאפשר להסיר את kube-proxy מהאשכול.
מערכות הפעלה נתמכות
כדי ליצור אשכול שלא משתמש ב-kube-proxy, צריך להשתמש באחת ממערכות ההפעלה הנתמכות של Red Hat Enterprise Linux או במערכת ההפעלה הנתמכת של Ubuntu עם ליבה בגרסה 5.7.0 ואילך. אם באשכול שלכם פועלת מערכת הפעלה של Ubuntu עם גרסת ליבה שקודמת ל-5.7.0, התכונה הזו לא נתמכת.
היתרונות של הסרת kube-proxy
הימנעות מצריכת המשאבים שנדרשת כדי לתחזק קבוצה גדולה של כללי iptables.
לשפר את הביצועים. יצירת כללי iptables לוקחת זמן, במיוחד באשכולות גדולים.
יצירת אשכול בלי kube-proxy
פועלים לפי ההוראות באחד מהנושאים של יצירת אשכול.
כשממלאים את קובץ התצורה של האשכול, צריך לכלול את ההערה הבאה:
preview.baremetal.cluster.gke.io/kube-proxy-free: "enable"
לדוגמה:
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
name: alice
namespace: cluster-alice
annotations:
preview.baremetal.cluster.gke.io/kube-proxy-free: "enable"
...
מוודאים שהאשכול לא מכיל את kube-proxy
מציגים ברשימה את ה-DaemonSets באשכול:
kubectl --kubeconfig CLUSTER_KUBECONFIG \
get daemonsets --all-namespaces
מחליפים את CLUSTER_KUBECONFIG בנתיב של קובץ ה-kubeconfig של האשכול.
מוודאים שהערך kube-proxy לא מופיע ברשימה. לדוגמה:
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