Comment effacer CrashLoopBackOff
Lorsqu'un Kubernetes pod va dans CrashLoopBackOff
état, vous permettra de résoudre le problème sous-jacent. Comment voulez-vous forcer à être reportée?
Vous devez vous connecter pour publier un commentaire.
Lorsqu'un Kubernetes pod va dans CrashLoopBackOff
état, vous permettra de résoudre le problème sous-jacent. Comment voulez-vous forcer à être reportée?
Vous devez vous connecter pour publier un commentaire.
Pour appliquer la nouvelle configuration de la nouvelle pod devrait être créé (l'ancien sera supprimé).
Si votre pod a été créé automatiquement par
Deployment
ouDaemonSet
de ressources, cette action va s'exécuter automatiquement à chaque fois après la mise à jour de la ressource de yaml.Il ne va pas se produire si vos ressources ont
spec.updateStrategy.type=OnDelete
.Si le problème était lié avec l'erreur à l'intérieur de docker image, que vous avez résolu, vous devez mettre à jour les gousses manuellement, vous pouvez utiliser rolling-mise à jour disposent à cette fin, Dans le cas où de nouvelles images ont le même tag, vous pouvez simplement supprimer cassé pod. (voir ci-dessous)
En cas de défaillance d'un nœud, le pod sera recréé à nouveau nœud au bout de quelques temps, le vieux pod seront enlevées après la récupération complète de cassé nœud. intéressant de noter qu'il ne va pas se produire si votre pod a été créé par
DaemonSet
ouStatefulSet
.Toute façon, vous pouvez enlever manuel s'est écrasé pod:
Ou toutes les gousses avec
CrashLoopBackOff
état:Si vous avez complètement morte nœud, vous pouvez ajouter
--grace-period=0 --force
options pour supprimer l'information à propos de ce pod de kubernetes.kubectl delete pod `kubectl get pods --all-namespaces | awk '$4 == "CrashLoopBackOff" {print $2}'` -n <namespace>
Généralement un correctif nécessite de modifier quelque chose à propos de la configuration du module (le support de l'image, une variable d'environnement, une option de ligne de commande, etc), dans ce cas, vous devez supprimer le vieux pod et de commencer un nouveau pod. Si votre pod est en cours d'exécution en vertu d'une réplication du contrôleur (qui doit l'être), alors vous pouvez faire un roulement de mise à jour à la nouvelle version.
kubectl logs -f <pod>
? Qui va vous montrer la sortie standard de la plupart récemment sorti de fonctionner de votre conteneur.kubectl logs -f <pod>
comme @Robert Bailey mentionné ci-dessus, j'ai un message d'erreur car il ne pouvait pas charger l'application en raison de fichier attendus n'étant pas présent pour démarrer l'application. J'ai mis à jour cette configuration, reportez-vous au fichier correct et il fonctionne comme prévu.Lors de la destruction des gousses avec
les gousses de tenter de redémarrer. Vous pouvez détruire le cluster contenant les gousses sur google avec