web-dev-qa-db-fra.com

Qu'adviendra-t-il des gousses expulsées dans les kubernetes?

Je viens de voir que certaines de mes gousses ont été expulsées par les kubernètes. Qu'est-ce qui va leur arriver? juste traîner comme ça ou je dois les supprimer manuellement?

18
reachlin

Une solution rapide que j'utilise consiste à supprimer manuellement tous les modules expulsés après un incident. Vous pouvez utiliser cette commande:

kubectl get po -a --all-namespaces -o json | jq  '.items[] | select(.status.reason!=null) | select(.status.reason | contains("Evicted")) | "kubectl delete po \(.metadata.name) -n \(.metadata.namespace)"' | xargs -n 1 bash -c
18
Kalvin

En fonction de l'atteinte d'un { seuil d'expulsion } strict ou matériel, les conteneurs du pod seront fermés avec ou sans délai de grâce, la PodPhase sera marquée en tant que Failed et le pod sera supprimé. Si votre application s'exécute dans le cadre, par exemple, de un déploiement, un autre pod sera créé et planifié par Kubernetes - probablement sur un autre nœud ne dépassant pas ses seuils d’expulsion. 

Sachez que l'expulsion ne doit pas nécessairement être provoquée par des seuils, mais peut également être invoquée via kubectl drain à vide un nœud ou manuellement via Kubernetes API

7
Simon Tesar

Equivalent OpenShift de la commande de Kalvin pour supprimer tous les pods 'Expulsés':

eval "$(oc get pods --all-namespaces -o json | jq -r '.items[] | select(.status.phase == "Failed" and .status.reason == "Evicted") | "oc delete pod --namespace " + .metadata.namespace + " " + .metadata.name')"
3
ffghfgh

Les pods expulsés doivent être supprimés manuellement. Vous pouvez utiliser la commande suivante pour supprimer tous les pods dans l'état Error.

kubectl get pods --all-namespaces --field-selector 'status.phase==Failed' -o json | kubectl delete -f -

Voici le guide "officiel" pour savoir comment coder en dur le seuil (si vous ne voulez pas voir trop de modules expulsés): kube-control-manager

Mais un problème connu est de savoir comment installer kube-control-manager ...

0
tikael