|
Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi. |
Travailler avec des taints et des tolérances
"Marquer" un nœud Kubernetes entraîne le rejet des pods s’exécutant sur ce nœud.
À moins que les pods n’aient un toleration pour la marque de ce nœud, ils s’exécuteront sur d’autres nœuds du cluster.
Marques et tolérances peuvent fonctionner en conjonction avec le nodeSelector champ au sein du PodSpec, ce qui permet l’effet opposé d’une marque.
Utiliser nodeSelector donne aux pods une affinité pour certains nœuds.
Les deux offrent un choix pour le(s) nœud(s) sur lequel le pod s’exécutera.
Implémentation par défaut dans la pile de logging de Rancher
Par défaut, Rancher marque tous les nœuds Linux avec cattle.io/os=linux, et ne marque pas les nœuds Windows.
Les pods de la pile de logging ont tolerations pour cette marque, ce qui leur permet de s’exécuter sur des nœuds Linux.
De plus, la plupart des pods de la pile de logging s’exécutent uniquement sur Linux et ont un nodeSelector ajouté pour garantir qu’ils s’exécutent sur des nœuds Linux.
Cet exemple de fichier YAML de Pod montre un nodeSelector utilisé avec une tolérance :
apiVersion: v1
kind: Pod
# metadata...
spec:
# containers...
tolerations:
- key: cattle.io/os
operator: "Equal"
value: "linux"
effect: NoSchedule
nodeSelector:
kubernetes.io/os: linux
Dans l’exemple ci-dessus, nous veillons à ce que notre pod ne s’exécute que sur des nœuds Linux, et nous ajoutons un toleration pour la marque que nous avons sur tous nos nœuds Linux.
Vous pouvez faire de même avec les marques existantes de Rancher, ou avec vos propres marques personnalisées.
Ajouter des paramètres NodeSelector et des tolérances pour des taints personnalisés
Si vous souhaitez ajouter vos propres paramètres nodeSelector, ou si vous souhaitez ajouter tolerations pour des marques supplémentaires, vous pouvez passer ce qui suit aux valeurs du chart.
tolerations:
# insert tolerations...
nodeSelector:
# insert nodeSelector...
Ces valeurs ajouteront les deux paramètres aux conteneurs fluentd, fluentbit et logging-operator.
Essentiellement, ce sont des paramètres globaux pour tous les pods de la pile de logging.
Cependant, si vous souhaitez ajouter des tolérances pour uniquement le conteneur fluentbit, vous pouvez ajouter ce qui suit aux valeurs du chart.
fluentbit_tolerations:
# insert tolerations list for fluentbit containers only...