Créer un cluster sans kube-proxy

Ce document explique comment créer un cluster qui n'utilise pas kube-proxy.

kube-proxy est un contrôleur qui s'exécute sur chaque nœud de calcul d'un cluster. Il surveille les objets de service Kubernetes et crée des règles iptables pour transférer les paquets envoyés aux adresses de service. À la place de kube-proxy et d'iptables, vous pouvez utiliser Dataplane V2 en mode kube-proxy-replacement. Cela permet de supprimer kube-proxy du cluster.

Systèmes d'exploitation compatibles

Pour créer un cluster qui n'utilise pas kube-proxy, utilisez l'un des systèmes d'exploitation Red Hat Enterprise Linux compatibles. Les clusters qui utilisent Ubuntu ne sont pas compatibles avec cette fonctionnalité.

Avantages de la suppression de kube-proxy

  • Évitez la consommation de ressources nécessaire pour maintenir un grand ensemble de règles iptables.

  • Améliorez les performances. La création de règles iptables est chronophage, en particulier pour les clusters volumineux.

Créer un cluster sans kube-proxy

Suivez les instructions de l'un des articles sur la création de cluster.

Lorsque vous remplissez votre fichier de configuration de cluster, incluez l'annotation suivante:

preview.baremetal.cluster.gke.io/kube-proxy-free: "enable"

Exemple :

apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
  name: alice
  namespace: cluster-alice
  annotations:
    preview.baremetal.cluster.gke.io/kube-proxy-free: "enable"
...

Vérifier que kube-proxy ne se trouve pas dans votre cluster

Répertoriez les DaemonSets du cluster:

kubectl --kubeconfig CLUSTER_KUBECONFIG \
    get deamonsets --all-namespaces

Remplacez CLUSTER_KUBECONFIG par le chemin d'accès au fichier kubeconfig du cluster.

Vérifiez que kube-proxy ne figure pas dans la liste. Exemple :

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