Ich führe einen Pod aus, der eine einfache Nachricht an den 'terminationMessagePath' schreibt, dann wird der Pod mit 'CrashLoopBackOff' beendet. Ich möchte über Kibana debuggen können, anstatt mich bei jedem Kubernetes-Knoten anmelden zu müssen. Ich habe Kibana angefragt, um den Container-Statuswert "CrashLoopBackOff" aus dem Grund & der Nachricht zu erhalten und konnte keinen Eintrag finden.Fluentd Capture, wenn ein Kubernetes Pod mit dem 'CrashLoopBackOff' beendet wird?
Ich kann die Felder für den Pod in Kibana sehen, aber das Feld, das ich suche (in fettem YAML-Format unten) ist leer.
Welche Konfiguration wird benötigt, um das Protokoll von Kubernetes pod zu erhalten? oder Konfiguration müssen von Kubernetes
$ kubectl get pod_name_1 -o = yaml
terminationMessagePath: /var/log/containers/dt.log
volumeMounts:
- mountPath: /var/log/containers
name: data
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
name: default-token-s0w2n
readOnly: true
dnsPolicy: ClusterFirst
nodeName: dev-master-01
restartPolicy: Always
securityContext: {}
serviceAccount: default
serviceAccountName: default
terminationGracePeriodSeconds: 30
volumes:
- hostPath:
path: /var/log/containers
name: data
- name: default-token-s0w2n
secret:
defaultMode: 420
secretName: default-token-s0w2n
status:
conditions:
- lastProbeTime: null
lastTransitionTime: 2017-07-05T14:45:11Z
status: "True"
type: Initialized
- lastProbeTime: null
lastTransitionTime: 2017-07-05T17:00:22Z
message: 'containers with unready status: [dt-termination-demo]'
reason: ContainersNotReady
status: "False"
type: Ready
- lastProbeTime: null
lastTransitionTime: 2017-07-05T14:45:11Z
status: "True"
type: PodScheduled
containerStatuses:
- containerID:
docker://9649c26527cf0e1cd3bd67ba9c606c0b78e6b4f08bacf96175627ddc7d250772
image: debian
imageID: docker pullable://docker.io/[email protected]:
7d067f77d2ae5a23fe6920f8fbc2936c4b0d417e9d01b26372561860750815f0
lastState:
terminated:
containerID: docker://
9649c26527cf0e1cd3bd67ba9c606c0b78e6b4f08bacf96175627ddc7d250772
exitCode: 0
finishedAt: 2017-07-05T17:00:22Z
**message: |
Sleep expired**
reason: Completed
startedAt: 2017-07-05T17:00:12Z
name: dt-termination-demo
ready: false
restartCount: 30
state:
waiting:
message: Back-off 5m0s restarting failed container=dt-termination-demo
pod=dt-termination-demo-2814930607-8kshj_
default(8c247b15-6190-11e7-acb7-00505691210d)
**reason: CrashLoopBackOff**
hostIP: 192.21.19.128
phase: Running
podIP: 10.0.0.8
startTime: 2017-07-05T14:45:11Z
edsiper, danke für die Antwort. Fluentd sammelt Protokoll von Knoten und Pod, aber es sammelt nicht, wenn der Pod beendet oder mit dem "CrashLoopBackOff" Fehler abstürzt. In Kibana kann ich die Informationen über den Pod mit "CrashLoopBackOff" sehen, aber ich kann den tatsächlichen "CrashLoopBackOff" -Wert im Log oder in der Nachricht nicht sehen. Das Protokoll enthält normalerweise den letzten Status und den aktuellen Status des Containerstatus. Der Befehl mit den Informationen zum Containerstatus (kubectl get pod pod_name -o = yaml) –