2017-12-16 2 views
1

Wir haben ein Problem mit unserer AWS-Bereitstellung mit kubernetes/Helm, wo wir sehen, "Pod Sandbox geändert, wird getötet und neu erstellt" . Dies war vorher noch nicht der Fall, aber wir begannen mit unserer neuesten Implementierung, bei der wir die vorherige Bereitstellung mit dem Löschvorgang gelöscht und einen neuen mit der Installation des Steuerelements erstellt hatten. Nicht sicher, ob dies mit unserer neuen Abhängigkeit von AWS SQS oder der Aktualisierung von kubertetes/helm/kops-Versionen zusammenhängt. Es gibt andere Pods auf demselben Kubernetes-Knoten und sie funktionieren gut.AWS-Bereitstellung mit Kubernetes 1.7.2 kontinuierlich im Pod ausgeführt wird getötet und neu gestartet

Diese Hülsen halten auf immer wiederkehr mit folgenden Meldungen getötet und neu gestartet:

  • Pod Sandbox verändert, wird er getötet werden und neu erstellt
  • Töten Behälter mit id Docker: // xxx: Need to Kill Pod
  • Back-off Container Neustarten fehlgeschlagen
  • Fehler syncing pod

manuell zu töten Der Pod bringt einen neuen Pod hervor, wie es k8s tun würden, aber das behebt nicht die Probleme, die von einigen in verwandten Threads erwähnt werden.

Werte für CPU und Speicher

Ressourcen: Grenzen: cpu: 100m Speicher: 128Mi Anfragen: cpu: 100m Speicher: 128Mi

Version Info:

- client version 1.9 (also tried 1.6 and 1.7) 
- server version 1.7 (git vresion 1.7.2) 
- helm vresion 2.7.2 
- kops version 1.8.0 
- Kernel Version: 4.4.102-k8s 
- OS Image: Debian GNU/Linux 8 (jessie) 
- Container Runtime Version: docker://1.12.6 
- Kubelet Version: v1.7.2 
- Kube-Proxy Version: v1.7.2 
- Operating system: linux 
- Architecture: amd64 

Sind bereits alle relevanten Threads für diesen Fehler durchlaufen, aber dieses Problem schien für verschiedene env Ironment und die in diesen Threads aufgeführten Versionen werden von uns nicht verwendet.

- https://stackoverflow.com/questions/46826164/kubernetes-pods-failing-on-pod-sandbox-changed-it-will-be-killed-and-re-create 
- https://stackoverflow.com/questions/46922452/kubernetes-1-7-on-google-cloud-failedsync-error-syncing-pod-sandboxchanged-pod 

Alle Hinweise zum Finden der Ursache oder zur Behebung des Problems wären sehr hilfreich. Danke vielmals.

+1

Haben Sie versucht, Ihre Grenzen zu erhöhen? Ich schätze, wenn während des Containerstarts die Grenzen erreicht werden, könnte es getötet werden und das könnte das Verhalten erklären, das Sie erleiden – whites11

+0

ja, das ist, was wir am Ende aus kubelet Logs herausgefunden haben. Vielen Dank für Ihre Kommentare, die unsere Ergebnisse bestätigen. Wir gingen über das Speicherlimit hinaus, was dazu führte, dass k8s den Pod tötete. Ich wünschte, die angezeigte Fehlermeldung wäre spezifischer als "Pod-Sandbox geändert, wird getötet und neu erstellt" :-) – mi10

Antwort

1

Der Fix erwies sich als eine Erhöhung der Speichergrenzen. Wir änderten values.yaml Datei (folgenden Abschnitt) durch Ruder verwendet und an die Grenzen gestoßen ...

Ressourcen:

limits: 
    cpu: 100m 
    memory: 128Mi <--- increased this value... 
requests: 
    cpu: 100m 
    memory: 128Mi 

die Fehlermeldung Wunsch zeigt wurde, spezifischer als „Pod-Sandbox geändert, es wird getötet und neu erstellt ":

Verwandte Themen