PodTaches et tolérance

Le grand vernaculaire explique d'abord la tache et la tolérance

Taches:Être tachéTaintsNode of,Ne sera pas déployé par l'ordonnanceurpodApplication.
Tolérance:Autoriser le déploiement de l'ordonnanceurpodAppliquer aux tachesTaintsNode of.

Pourquoi utiliser des taches et de la tolérance?

Pourquoi utiliser des taches?
Parce quek8sChaque demande de Cluster doit allermasterNoeudkube-apiserver,Donc,masterLes noeuds sont très importants,Alors...podLes applications ne sont généralement pas déployéesmasterNoeud.Voilà.masterLes noeuds sont tachésTaints,De cette façon, l'ordonnancement ne sera pas déployé sur des machines tachées Pourquoi la tolérance?
Comme se faire encrasserTaintsDemasterLe noeud doit déployer unpodApplication,Une déclaration de tolérance est alors nécessaire,De cette façon, il est possible de programmer les machines avec des taches

Explication officielle

PournodeAffinityQu'il s'agisse de stratégies dures ou douces,C'est le planning. pod Au noeud prévu,EtTaintsExactement le contraire.,Si un noeud est marqué comme Taints ,À moins que pod Aussi identifié comme tolérant les noeuds tachés , Sinon Taints Les noeuds ne sont pas programmés pod.
Par exemple, les utilisateurs veulent Master Noeud réservé à Kubernetes Utilisation des composants du système , Ou réserver un groupe de ressources spéciales à certains pod, Les taches sont utiles ,pod Il n'est plus programmé pour taint Noeuds marqués .Nous utilisonskubeadm Le Cluster construit est par défaut à master Le noeud a été marqué d'une tache , Donc nous avons vu notre pod N'a pas été programmé master Monte.:
$ kubectl describe node master
Name: master
Roles: master
Labels: beta.kubernetes.io/arch=amd64
beta.kubernetes.io/os=linux
kubernetes.io/hostname=master
node-role.kubernetes.io/master=
......
Taints: node-role.kubernetes.io/master:NoSchedule
Unschedulable: false
 Nous pouvons utiliser les commandes ci - dessus pour voir master Informations sur le noeud, Il y a un article sur Taints Informations sur:node-role.kubernetes.io/master:NoSchedule,C'est tout. master Le noeud est marqué d'une tache , Où les paramètres affectés sont NoSchedule,Représentation pod Ne sera pas programmé pour être marqué comme taints Node of

TaintsParamètres

node-role.kubernetes.io/master:NoSchedule
NoSchedule: Ne pas programmer sur le noeud de tache 
PreferNoSchedule:NoSchedule Soft Policy version of , Cela signifie essayer de ne pas programmer les noeuds tachés
NoExecute: Cette option signifie qu'une fois que TaintEntrée en vigueur, Si le noeud fonctionne podPas de correspondanceTolerateParamètres, Il sera expulsé directement

Marquage des taches

# kubectl taint node sg-14 test=sg14:PreferNoSchedule
node/sg-14 tainted

Le nom dessus sera sg-14 Les noeuds sont marqués comme des taches , La stratégie d'impact est PreferNoSchedule, Ça n'affectera que le nouveau pod Répartition, Si vous voulez toujours pod Dispatch to taint Sur le noeud,Il doit être Spec Faire TolerationDéfinition, Pour programmer ce noeud ,

Parce que master Les noeuds sont marqués comme des noeuds tachés , C'est pour ça qu'on doit penser pod Capable de programmer jusqu'à master Noeud à , Une déclaration de tolérance accrue est nécessaire :

Tolérance aux taches

tolerations:
- key: "node-role.kubernetes.io/master"
operator: "Exists"
effect: "NoSchedule"

eg:

apiVersion: apps/v1
kind: Deployment
metadata:
name: deployment
spec:
replicas: 1 # podNombre
selector: # Sélecteur
matchLabels: # Étiquettes
release: stable # Sélectionnez l'étiquette
template: # Modèle
metadata:
name: test-tag # Nom du Contrôleur
labels:
release: stable # Définir l'étiquette du Contrôleur
spec:
containers:
- name: nginx # Nom du miroir
image: nginx # Miroir
tolerations:
- key: "node-role.kubernetes.io/master"
operator: "Exists"
effect: "NoSchedule"

Puis créez la ressource ci - dessus ,Nous pouvons voir qu'il y a un pod Copie envoyée à master Noeud, C'est ainsi que la tolérance est utilisée .

Pour tolerations écriture des attributs,Parmi euxpodDe key、value、effect Avec Node De Taint Les réglages doivent être cohérents , Les points suivants illustrent également :

Si operator La valeur de Exists,Et value La propriété peut être omise
Si operator La valeur de Equal, Ça veut dire key Avec value La relation entre equal(égal à)
Si non spécifié operator Propriétés,La valeur par défaut est Equal
En plus, Et deux valeurs spéciales :
tolerations:
- key: "key"
operator: "Equal"
value: "value"
effect: "NoScheduale"

Effacer toutes les taches de noeud

[root@sg-14 deployment]# kubectl taint node sg-14 test-
node/sg-14 untainted
Les taches de noeud ont été enlevées

k8s-Pod Plus d'articles sur les taches et la tolérance

  1. kubernetes(k8s)PodTaches et tolérance

    Taches(taints)Et la tolérance(tolerations) PournodeAffinityQu'il s'agisse de stratégies dures ou douces,C'est le planning. pod Au noeud prévu,EtTaintsExactement le contraire.,Si un noeud est marqué comme Taint ...

  2. Kubernetes-14:Un article détailléPod、Node Règles de programmation (Affinité、Taches、Tolérance、Noeud fixe)

    Kubernetes Pod Instructions d'expédition Introduction Scheduler - Oui. Kubernetes L'ordonnanceur de, La tâche principale est de définir PodAssigner au noeud du cluster, Ça a l'air très simple , Mais considérez les besoins : L'équité:Comment garantir ...

  3. KubernetesLes taches et la tolérance(Chapitre II)

    Contexte Suite de l'article précédent<KubernetesLes taches et la tolérance(Première partie)>,C'esthttps://kubernetes.io/docs/concepts/configuration/taint-and-to ...

  4. KubernetesLes taches et la tolérance(Première partie)

    Contexte Construit unk8s(Kubernetes) Service d'écoute d'événements pour , Traitement des données après écoute des événements . Un jour, j'a i signalé une question qui, après enquête, était une nouvelle version k8s L'ajout d'un Cluster ajoutera unschedule Attendre que l'information soit reflétée par des taches . Et ces taches ne sont que ...

  5. KubernetesDeTaintsAvecTolerations Taches et tolérance

    NodeAffinityAffinité nodale,- Oui.Pod Un attribut défini sur ,FairePod Capable de programmer à un certain NodeAllez.,EtTaintsC'est le contraire.,Il permetNode Refuser d'exécuter Pod, Même l'expulsion Pod. Taints(Sale. ...

  6. k8s podProgrammation des noeuds etk8sOptimisation des ressources

    Un..k8s pod Contrôle de l'ordonnancement entre les noeuds k8sLève - toi.podHeure,Passe par l'ordonnanceurschedulerSélectionnez un noeud pour compléter l'ordonnancement,Sélectionnez terminer sur un noeudpodCréation.Lorsqu'il est nécessaire de spécifierpodLors de l'exécution sur un noeud,Vous pouvez le faire de plusieurs façons: ...

  7. 009.kubernets Taches et tolérances du système de répartition

    TaintsEtTolerations(Taches et tolérance) TaintLes besoins sont liés àTolerationEn association avec,Jeanpod Évitez les node.Innode Définir un ou plusieurs TaintAprès,À moins quepod Une déclaration claire de tolérance ...

  8. k8s podDe4Le meilleur mode de réseau(externalIPs )

    [k8s]k8s podDe4Le meilleur mode de réseau(externalIPs )       hostPortéquivalent àdocker run -p 8081:8080,Pas besoin de créersvc,Par conséquent, le port ne fonctionne que sur le conteneurvm ...

  9. kubectl cp Dek8s pod Moyenne Copie File to Local

    Veuillez consulter les instructions officielles kubectl cp --help Officiellement dit d'utilisercp , podJ'en ai besoin.tarLes ordres Dek8s pod Moyenne Copie File to Local C'est la commande que j'utilise. kubectl exec redis-6c ...

  10. Kubernetes Configuration Taint Et Toleration(Taches et tolérance)

    Grâce aux taches et à la tolérance pod Exécuter sur un noeud spécifique Site officiel de référence:https://k8smeetup.github.io/docs/concepts/configuration/taint-and-toleratio ...

Recommandation aléatoire

  1. Docker composeNotes d'étude

    Un..compose compose Action Votre application peut nécessiter beaucoup de services,Par exemple,webServices,Services de base de données,Services de mise en cache, etc..Nous pouvons mettre ces services dans des conteneurs séparés,Il serait difficile de configurer ces services manuellement,docker c ...

  2. Visual Studio: whether auto-building when press the debug button

    Tools -> Options -> Projects and Solutions->Build and Run -> choose an option for On Run ...

  3. skinned mesh Araignée

    Parskinned mesh Tourmenté Ça fait longtemps., Commence à sentir skinindicesNon,Parce quepix Il y a plein de 0 Je suis venu et j'ai découvert que c'était comme ça ,Cesuchar L'entier de est pixAvecfloat Le format de (Afficher comme0.0 ...

  4. Comment fairePowerDesignerOui.PDM Export Build WORDDocument ouhtmlDocumentation

    a)         UtiliserPowerDesignerOuvre.pdmDocumentation b)         Cliquez surReport Temlates Créer un modèle Cliquez surPowerDesignerBarre de menu“Report” -> ...

  5. C#LireVisual FoxPro(*.dbf) Données et utilisation SqlBulkCopyInsérer dansSqlServer 2008 R2Dans la fiche technique

    Base de données de l'entreprise à partir de 32BitwiseSqlServer 2005Mise à jour vers64BitwiseSqlServer 2008 R2Après, Impossible de passer comme avant Link ServerConnexionVFPSynchroniser les données, Envisagez donc d'utiliser un programme codé à partir de VFP Lire dans la base de données ...

  6. django La pagination rapide

    Cet article présentedjanog Deux types de pagination , Le premier est la pagination normale , Le deuxième est l'utilisation de haystack Pagination pour la recherche en texte intégral . 1.django Avec pagination , Cette fonctionnalité fonctionne très bien .Les bases:Django Classe qui fournit la pagination des données , Ces classes sont définies dans dj ...

  7. python(Opération string)

    Un.. Remplacement partiel d'une chaîne python Les substitutions de chaînes peuvent être utilisées avec 2Mise en œuvre:1 C'est en utilisant la chaîne elle - même .2 Remplacer la chaîne par une chaîne régulière Voici un exemple d'expérience :a = 'hello word'J'ai misaDans la chaînewordRemplacer par:py ...

  8. JavaScript Tri des modèles de conception communs

    En cours de développement, Nous sommes plus ou moins en contact avec les modèles de conception , Mais la plupart du temps, je ne sais pas quel modèle de conception j'utilise ou quel modèle de conception je devrais utiliser . Cet article vise à trier les caractéristiques des modèles de conception communs , Pour avoir une meilleure compréhension d'eux . JavaScript Modèles de conception communs ...

  9. Démarrage ServiceFabric WindowsService newspaper1053

    Remote Procedure Call (RPC) LocatorEt Windows FirewallDémarrer ou non. Exécuter en tant qu'administrateurPowerShell,EntréeUnregister-Scheduled ...

  10. UtiliserSSHConnexion à distanceLinux

    ⒈SSHIntroduction SSH(Secure Shell)ParIETFLe Groupe de travail du réseau(NetWork Working Group)Créé par,SSH Est un Protocole de sécurité basé sur la couche application et la couche transport . SSHEst actuellement plus fiable, Dédié à la distance ...