2016-11-16 2 views
8

Gibt es eine Möglichkeit, einige Details über Kubernetes Pod zu erhalten, die gelöscht wurden (gestoppt, durch neue Version ersetzt).Wie listet Kubernetes kürzlich gelöschte Pods auf?

Ich untersuche Fehler. Ich habe Logs mit meinem Pod-Namen. Dieser Pod existiert nicht mehr, er wurde durch einen anderen ersetzt (mit anderer Konfiguration). Neuer Pod befindet sich im selben Namespace, Replikationscontroller und Dienst wie der alte.

Befehle wie

kubectl get pods 
kubectl get pod <pod-name> 

Arbeit nur mit aktuellen Schoten (live oder gestoppt).

Wie könnte ich mehr Details über alte Pods bekommen? Ich möchte

  1. sehen, wenn sie
  2. die Umgebungsvariablen erstellt wurden sie als
  3. erstellt hatte, warum und wann sie

Antwort

2

gestoppt wurden Sie können kubectl logs --previous versuchen die Protokolle von einer zur Liste zuvor gestoppt pod

http://kubernetes.io/docs/user-guide/kubectl/kubectl_logs/

Sie können diese Tipps zur Fehlerbehebung wollen auch http://kubernetes.io/docs/user-guide/debugging-pods-and-replication-controllers/

+0

Dieser Befehl scheint nicht mehr zu funktionieren und ein Pod-Name wird angefordert. –

+0

Es funktioniert, aber es soll Protokolle von früheren * Containern * in einem vorhandenen Pod anzeigen. Aus dem Dokument: "Wenn dies der Fall ist, drucken Sie die Protokolle für die vorherige Instanz des Containers in einem Pod, sofern vorhanden." – dvdgsng

2

Es auszuchecken ist dieses Flag:

-a, --show-all = false: Beim Drucken Zeige alle Ressourcen (default ausblenden beendet Schoten .)

Aber das kann nicht in allen Fällen von alten Pods helfen.

+5

Ich habe nicht gefunden, dass dies auch mit kürzlich terminierten Pods funktioniert. –

+1

Ja, scheint wie ein Bug oder eine Regression. – manojlds

0

kubectl Schoten erhalten -a
Sie die Liste der laufenden Schoten und die Schoten beendet, falls erhalten Sie für diesen

+0

Dies funktioniert nicht für Pods, die für eine Weile beendet wurden –

0

so weit suchen, wie ich weiß, dass Sie nicht die Schote Details erhalten, sobald die Hülse ist gelöscht. Kann ich wissen, was der Usecase ist?

Beispiel:

  1. wenn ein pod mit erstellt - Busybox-Test-pod-Status --image = Busybox --restart = Nie kubectl laufen -/bin/false Sie eine pod haben mit Status beendet: Fehler
  2. Wenn ein Pod mit - kubectl erstellt wird run busybox-test-pod-status --image = busybox --restart = Nie -/bin/true Sie haben Pod mit Status beendet: Complted
  3. Wenn Container in einem Pod neu gestartet wird: Der Pod wird aktiv sein und Sie können die Protokolle des vorherigen Containers (nur des vorherigen Containers) verwenden kubectl logs --container < containername> --previous = true < pod_name>
  4. Wenn Sie ein Upgrade Ihrer App durchführen und Pods mit Bereitstellungen erstellen. Wenn die Update-Bereitstellung "ein neues Bild sagt". Der Pod wird beendet und ein neuer Pod wird erstellt. Sie können die Pod-Details von Deamoyment Yaml erhalten.Wenn Sie Details des vorherigen Pods sehen möchten, sehen Sie den Abschnitt "spec" der vorherigen Implementierung. yaml
Verwandte Themen