Crea un clúster sin kube-proxy

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