Exemple: kube-proxy
L’exemple de kube-proxy
kube-proxy est un Daemonset Kubernetes dédié à la gestion du réseau virtuel des Services Kubernetes. L’implémentation par défaut installe un pod kube-proxy sur chaque noeud en charge de gérer les adresses IP virtuelles des Services Kubernetes.
Remarque
Afin de créer le réseau virtuel des services kube-proxy configure le module IPVS du noyau Linux sur chaque noeuds en parallèle. Dans les versions plus anciennes de Kubernetes, kube-proxy configurait les iptables mais IPVS est bien plus rapide.
Ce pod s’exécute également sur les noeud(s) maître(s) du cluster Kubernetes.
Listons les Tolerations dans la section Pod template du Daemonset kube-proxy:
Ou, la même chose en yaml
Si l’on se réfère à la documentation officielle, nous sommes ici dans un cas particulier:
An empty key with operator Exists matches all keys, values and effects which means this will tolerate everything.
Ainsi la Toleration ci-dessous permettra à un Pod de s"éxécuter sur tous les noeuds, peut importe leurs Tolerations.
C’est bien la raison pour laquelle le Daemonset kube-proxy est en mesure d’éxécuter un pod sur le(s) noeud(s) maître(s) du cluster Kubernetes.