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. Er beobachtet Kubernetes-Dienstobjekte und erstellt iptables-Regeln zum Weiterleiten von Paketen, die an Dienstadressen gesendet werden. Eine Alternative zur Verwendung von kube-proxy
und iptables für diesen Zweck ist die Verwendung von Dataplane V2 im Kube-proxy-replacement-Modus. Dadurch kann kube-proxy
aus dem Cluster entfernt werden.
Unterstützte Betriebssysteme
Wenn Sie einen Cluster ohne kube-proxy
erstellen möchten, verwenden Sie eines der unterstützten Betriebssysteme Red Hat Enterprise Linux oder ein unterstütztes Ubuntu-Betriebssystem mit Kernel-Version 5.7.0 oder höher. Wenn in Ihrem Cluster ein Ubuntu-Betriebssystem mit einer Kernel-Version vor 5.7.0 verwendet wird, wird diese Funktion nicht unterstützt.
Vorteile des Entfernens von kube-proxy
Vermeiden Sie den Ressourcenverbrauch, der für die Verwaltung einer großen Reihe von iptables-Regeln erforderlich ist.
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 Clustererstellung.
Fügen Sie beim Ausfüllen der 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" ...
Prüfen Sie, ob 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