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 de servicio de Kubernetes y crea reglas de iptables para reenviar paquetes que se envían a direcciones de servicio. Una alternativa para usar kube-proxy
y iptables con este fin 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 compatibles con Red Hat Enterprise Linux o un sistema operativo compatible con Ubuntu con la versión 5.7.0 del kernel o una 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
Evita el consumo de recursos necesario para mantener un gran conjunto de reglas de iptables.
Mejora el rendimiento. La creación de reglas de iptables requiere tiempo, en especial para clústeres grandes.
Crea un clúster sin kube-proxy
Sigue las instrucciones de uno de los temas sobre 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
Obtén una lista de 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