Dataplane V2 en el modo kube-proxy-replacement te permite crear clústeres que
no ejecutan kube-proxy ni dependen de sus reglas de iptables. Quitar kube-proxy
evita el costo de recursos que implica mantener un conjunto grande de reglas de iptables y
mejora el rendimiento, en especial en clústeres grandes.
El controlador kube-proxy se ejecuta en cada nodo trabajador de un clúster. Supervisa
los objetos Service de Kubernetes y crea reglas de
iptables
para reenviar los paquetes que se envían a las direcciones de Service. En su lugar, Dataplane V2
controla este reenvío, por lo que puedes quitar kube-proxy del
clúster.
Sistemas operativos compatibles
Para crear un clúster que no use kube-proxy, usa uno de los sistemas operativos
Red Hat Enterprise Linux
compatibles o un sistema operativo
Ubuntu
compatible con la versión de kernel 5.7.0 o posterior. Si tu clúster usa un
sistema operativo Ubuntu con una versión de kernel anterior a la 5.7.0, esta función no
es compatible.
Ventajas de quitar kube-proxy
Evitar el consumo de recursos necesario para mantener un conjunto grande de reglas de iptables
Mejora el rendimiento. Crear reglas de iptables lleva mucho tiempo, en especial para clústeres grandes.
Crea un clúster sin kube-proxy
Sigue las instrucciones de uno de los temas de creación de clústeres.
Cuando completes el archivo de configuración del clúster, incluye la siguiente anotación:
preview.baremetal.cluster.gke.io/kube-proxy-free: "enable"
Por ejemplo:
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 que kube-proxy no esté en tu clúster
Enumera los DaemonSets del clúster:
kubectl --kubeconfig CLUSTER_KUBECONFIG \
get daemonsets --all-namespaces
Reemplaza CLUSTER_KUBECONFIG por la ruta de acceso del archivo kubeconfig del clúster.
Verifica que kube-proxy no esté en la lista. Por ejemplo:
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