Kubernetes Taints
Dans Kubernetes, chaque nodes peuvent avoir des teintes pour changer leur comportement. Il est possible de voir les teintes sur une node en faisant:
kubectl describe node [<node_name>]
Il y aura une section Taints
qui liste toutes les teintes du node.
Un exemple de teinte est: node-role.kubernetes.io/control-plane:NoSchedule
. Elle empêche des pods qui ne font pas partie de l’infrastructure de se faire exécuter dessus. Les 3 actions effets sont:
NoSchedule
, n’assigne aucun 1. Pods sur les nodes qui ont cette teintes. Si un Pod est déjà dessus, il continuera à s’exécuter.PreferNoSchedule
, préfère ne pas s’exécuter sur les nodes avec cette teintesNoExecute
, aucun Pods ne sera assigné à ces nodes, et les Pods qui sont déjà dessus seront expulsé s’ils n’ont pas de Tolerations.
Modification
Pour modifier les teintes d’une node, il est possible d’entrer kubeclt taint nodes [<node>] <taint>[-]
. Il faut mettre un -
à la fin pour retirer une teinte.
Exemple
Pour retirer la teinte qui empêche les nodes qui font partie du Control Plane, il faut faire:
kubectl taint nodes [ <master_node_name> | --all ] node-role.kubernetes.io/control-plane-