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. Plutôt que d'utiliser kube-proxy
et iptables à cet effet, 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 ou un système d'exploitation Ubuntu compatible avec la version de noyau 5.7.0 ou une version ultérieure. Si votre cluster utilise un système d'exploitation Ubuntu avec une version de noyau antérieure à 5.7.0, cette fonctionnalité n'est pas disponible.
Avantages de la suppression de kube-proxy
Évitez la consommation de ressources requise pour gérer un grand ensemble de règles iptables.
Améliorez les performances. La création de règles iptables prend du temps, en particulier pour les clusters de grande taille.
Créer un cluster sans kube-proxy
Suivez les instructions de l'une des rubriques relatives à la création du cluster.
Lorsque vous complétez le fichier de configuration du 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