0
votes

Comment réduire le temps nécessaire pour déplacer des gousses sur d'autres nœuds lorsqu'un nœud est en panne

J'ai un problème, je ne trouve pas comment changer le paramètre de vérification de la POD pour vous déplacer sur un autre nœud. Lorsque K8S détecte qu'un nœud est en panne.

J'ai trouvé le paramètre - synchronisation-synchronise mais je ne suis pas sûr.

Quelqu'un sait comment faire?


0 commentaires

3 Réponses :


2
votes

Vous devez modifier le kube-contrôleur-manager.conf et mettre à jour les paramètres suivants: (Vous pouvez trouver le fichier dans / etc / kubernet / manifeste ) < Pré> xxx

C'est ce qui se passe lorsque le nœud meurt ou passe en mode hors connexion:

  1. Le Kubelet publie son statut à Masters par - Nœud-Statut-Update-Fequency = 10S .
  2. nœud passe hors ligne
  3. Kube-contrôleur-Manager surveille tous les nœuds par - Nœud-Monitor-Période = 5S
  4. Kube-contrôleur-Manager verra le nœud ne répondra pas et a la période de grâce - nœud-moniteur-grace-période = 40S jusqu'à ce qu'il considère le nœud malsain. PS: Ce paramètre doit être dans N x Node-Statut-Statut-Update-Staquency
  5. Une fois le nœud marqué malsain, le kube-contrôleur-manager supprimera les pods basés sur - pod-expulseur-timeout = 5m

    Maintenant, si vous avez modifié le paramètre POD-Eviction-Timeout Pour dire 30 secondes, il prendra toujours 70 secondes pour expulser le nœud du nœud. -fequency et noeud-moniteur-Grace-Grace-Temps comptent dans la période de moniteur de nœuds-Grace-période. Vous pouvez modifier cette variable aussi pour réduire davantage votre temps d'expulsion de noeud total.


4 commentaires

Si le nœud bas et non accessible, Kube-Controller-Manager est-il toujours capable de supprimer des gousses?


Kube Controller Manager fonctionne sur le noeud principal et il sera donc en mesure de détecter tout autre nœud diminue. Il saura qu'un nœud particulier ne répondra pas, il attendra une Grace Perios et si cela ne vient toujours pas. Il marquera ce nœud comme malsain


Malheureusement si vous ajoutez les paramètres qui ne modifient pas l'heure par défaut de Kubettes.


J'utilise ces paramètres de mon groupe dans mon groupe et que tout fonctionne bien.it prend 70 secondes pour déplacer des pods vers un autre nœud, par défaut, il faut environ 6 minutes. Pourriez-vous s'il vous plaît vérifier que votre conteneur Docker Kube-contrôleur-Manager fonctionne avec ces paramètres?



0
votes

Une fois que la POD est planifiée sur un nœud particulier, il n'est ni déplacé ni décalé sur un autre nœud dans n'importe quel cas.New POD créé sur le nœud disponible.

Si vous n'avez pas de déploiement ou de RC, gérer l'état (nombre de gousses) de votre application, il sera perdu pour toujours. Mais si vous utilisez du déploiement ou d'autres objets responsables de maintenir l'état souhaité, alors si le nœud tombe en panne, il détecte les modifications de l'état actuel, puis il crée une nouvelle POD à un autre nœud (en fonction de la capacité du nœud).


1 commentaires

ou j'ai mal plui ou que vous avez mal compris la question. Lorsqu'un nœud tombe, je ne veux pas attendre 50 ans avant que la gousse ne soit déplacée vers un autre nœud mais 5s max.



0
votes

Absolument d'accord avec pringable ci-dessus. Il est difficile d'expulser les pods du nœud défaillant et de les déplacer sur un autre nœud disponible en 5 secondes. Pratiquement pas possible. Vous devez surveiller le statut du nœud, autoriser la période de grâce à confirmer que le nœud en effectif, puis marquez le statut comme malsain. Enfin, déplacez les pods vers un autre nœud actif. Vous pouvez modifier ces paramètres de moniteur de noeuds à des valeurs beaucoup moins moins, mais la performance du volet de contrôle serait touchée car davantage de connexions sont effectuées entre Kubelet et API Server. Vous suggère d'exécuter 2 réplicas pour chaque POD afin que votre application soit toujours disponible pour servir les demandes utilisateur


0 commentaires