במסמך הזה מוסבר איך ליצור אשכול שלא משתמש ב-kube-proxy.
kube-proxy הוא בקר שפועל בכל צומת עובד באשכול. הוא עוקב אחרי אובייקטים של Kubernetes Service ויוצר כללי iptables להעברת מנות שנשלחות לכתובות של Service. חלופה לשימוש ב-kube-proxy וב-iptables למטרה הזו היא שימוש ב-Dataplane V2 במצב kube-proxy-replacement. כך אפשר להסיר את 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