Cluster ohne kube-proxy erstellen

In diesem Dokument wird gezeigt, wie Sie einen Cluster erstellen, der kube-proxy nicht verwendet.

kube-proxy ist ein Controller, der auf jedem Worker-Knoten in einem Cluster ausgeführt wird. Es überwacht Kubernetes-Dienstobjekte und erstellt iptables-Regeln zum Weiterleiten von Paketen, die an Dienstadressen gesendet werden. Alternativ zu kube-proxy und iptables kann Dataplane V2 im Kube-Proxy-Replacement-Modus verwendet werden. Dadurch kann kube-proxy aus dem Cluster entfernt werden.

Unterstützte Betriebssysteme

Verwenden Sie zum Erstellen eines Clusters, der kube-proxy nicht verwendet, eines der unterstützten Red Hat Enterprise Linux-Betriebssysteme. Cluster, die Ubuntu verwenden, unterstützen dieses Feature nicht.

Vorteile des Entfernens von kube-proxy

  • Vermeiden Sie den Ressourcenverbrauch, der erforderlich ist, um eine große Anzahl von iptables-Regeln beizubehalten.

  • Leistung verbessern Das Erstellen von iptables-Regeln ist zeitaufwendig, insbesondere für große Cluster.

Cluster ohne kube-proxy erstellen

Folgen Sie der Anleitung unter einem der Themen zum Erstellen von Clustern.

Fügen Sie in die Clusterkonfigurationsdatei die folgende Annotation ein:

preview.baremetal.cluster.gke.io/kube-proxy-free: "enable"

Beispiel:

apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
  name: alice
  namespace: cluster-alice
  annotations:
    preview.baremetal.cluster.gke.io/kube-proxy-free: "enable"
...

Achten Sie darauf, dass sich kube-proxy nicht in Ihrem Cluster befindet

Listen Sie die DaemonSets im Cluster auf:

kubectl --kubeconfig CLUSTER_KUBECONFIG \
    get deamonsets --all-namespaces

Ersetzen Sie CLUSTER_KUBECONFIG durch den Pfad der kubeconfig-Datei des Clusters.

kube-proxy darf nicht in der Liste enthalten sein. Beispiel:

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