En este documento, se muestra cómo crear un clúster que no usa kube-proxy
.
kube-proxy
es un controlador que se ejecuta en cada nodo trabajador de un clúster. Observa los objetos de servicio de Kubernetes y crea reglas de iptables para reenviar los paquetes que se envían a las direcciones de servicio. Una alternativa al uso de kube-proxy
y iptables para este propósito es usar Dataplane V2 en el modo de reemplazo de kube-proxy. 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 compatibles o un sistema operativo Ubuntu compatible con la versión del kernel 5.7.0 o posterior. Si tu clúster usa un sistema operativo Ubuntu con una versión del 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. Crear reglas de iptables lleva mucho tiempo, en especial para los clústeres grandes.
Crea un clúster sin kube-proxy
Sigue las instrucciones en 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
Obtén una lista de los DaemonSets en el 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