Dataplane V2 in modalità kube-proxy-replacement consente di creare cluster che non eseguono kube-proxy o non si basano sulle relative regole iptables. La rimozione di kube-proxy evita il costo delle risorse per la gestione di un ampio insieme di regole iptables e migliora le prestazioni, soprattutto nei cluster di grandi dimensioni.
Il controller kube-proxy viene eseguito su ogni nodo worker di un cluster. Controlla gli oggetti Service di Kubernetes e crea regole iptables per inoltrare i pacchetti inviati agli indirizzi dei servizi. Dataplane V2 gestisce questo forwarding, quindi puoi rimuovere kube-proxy dal cluster.
Sistemi operativi supportati
Per creare un cluster che non utilizza kube-proxy, utilizza uno dei sistemi operativi Red Hat Enterprise Linux supportati o un sistema operativo Ubuntu supportato con versione kernel 5.7.0 o successiva. Se il tuo cluster utilizza un sistema operativo Ubuntu con versione kernel precedente alla 5.7.0, questa funzionalità non è supportata.
Vantaggi della rimozione di kube-proxy
Evitare il consumo di risorse necessario per mantenere un ampio insieme di regole iptables.
Migliorare il rendimento. La creazione di regole iptables richiede tempo, soprattutto per i cluster di grandi dimensioni.
Crea un cluster senza kube-proxy
Segui le istruzioni in uno degli argomenti relativi alla creazione dei cluster.
Quando compili il file di configurazione del cluster, includi la seguente annotazione:
preview.baremetal.cluster.gke.io/kube-proxy-free: "enable"
Ad esempio:
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
name: alice
namespace: cluster-alice
annotations:
preview.baremetal.cluster.gke.io/kube-proxy-free: "enable"
...
Verifica che kube-proxy non sia nel tuo cluster
Elenca i DaemonSet nel cluster:
kubectl --kubeconfig CLUSTER_KUBECONFIG \
get daemonsets --all-namespaces
Sostituisci CLUSTER_KUBECONFIG con il percorso del file kubeconfig del cluster.
Verifica che kube-proxy non sia nell'elenco. Ad esempio:
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