Cree un clúster sin kube-proxy

En este documento, se muestra cómo crear un clúster que no use kube-proxy.

kube-proxy es un controlador que se ejecuta en cada nodo trabajador de un clúster. Supervisa los objetos Service de Kubernetes y crea reglas iptables para reenviar paquetes que se envían a direcciones de Service. Una alternativa al uso de kube-proxy y de iptables es usar Dataplane V2 en el modo kube-proxy-replacement. Esto permite 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 admitidos. Los clústeres que usan Ubuntu no admiten esta función.

Ventajas de quitar kube-proxy

  • Evita el consumo de recursos necesario para mantener un gran conjunto de reglas de iptables.

  • Mejora el rendimiento. Crear reglas de iptables requiere mucho tiempo, en especial para clústeres grandes.

Crear un clúster sin kube-proxy

Sigue las instrucciones de uno de los temas para crear 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 en el clúster:

kubectl --kubeconfig CLUSTER_KUBECONFIG \
    get deamonsets --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