3.0 KiB
{% panel style="success", title="Providing Feedback" %} Provide feedback at the survey {% endpanel %}
{% panel style="info", title="TL;DR" %}
- Print the Logs of a Container in a cluster {% endpanel %}
Summarizing Resources
Motivation
Debugging Workloads by printing out the Logs of containers in a cluster.
{% method %}
Print Logs for a Container in a Pod
Print the logs for a Pod running a single Container {% sample lang="yaml" %}
kubectl logs echo-c6bc8ccff-nnj52
hello
hello
{% endmethod %}
{% panel style="success", title="Crash Looping Containers" %}
If a container is crash looping and you want to print its logs after it
exits, use the -p flag to look at the logs from containers that have
exited. e.g. kubectl logs -p -c ruby web-1
{% endpanel %}
{% method %}
Print Logs for all Pods for a Workload
Print the logs for all Pods for a Workload {% sample lang="yaml" %}
# Print logs from all containers matching label
kubectl logs -l app=nginx
{% endmethod %}
{% panel style="success", title="Workloads Logs" %}
Print all logs from all containers for a Workload by passing the
Workload label selector to the -l flag. e.g. if your Workload
label selector is app=nginx usie -l "app=nginx" to print logs
for all the Pods from that Workload.
{% endpanel %}
{% method %}
Follow Logs for a Container
Stream logs from a container.
{% sample lang="yaml" %}
# Follow logs from container
kubectl logs nginx-78f5d695bd-czm8z -f
{% endmethod %}
{% method %}
Printing Logs for a Container that has exited
Print the logs for the previously running container. This is useful for printing containers that have crashed or are crash looping. {% sample lang="yaml" %}
# Print logs from exited container
kubectl logs nginx-78f5d695bd-czm8z -p
{% endmethod %}
{% method %}
Selecting a Container in a Pod
Print the logs from a specific container within a Pod. This is necessary for Pods running multiple containers. {% sample lang="yaml" %}
# Print logs from the nginx container in the nginx-78f5d695bd-czm8z Pod
kubectl logs nginx-78f5d695bd-czm8z -c nginx
{% endmethod %}
{% method %}
Printing Logs After a Time
Print the logs that occurred after an absolute time. {% sample lang="yaml" %}
# Print logs since a date
kubectl logs nginx-78f5d695bd-czm8z --since-time=2018-11-01T15:00:00Z
{% endmethod %}
{% method %}
Printing Logs Since a Time
Print the logs that are newer than a duration.
Examples:
- 0s: 0 seconds
- 1m: 1 minute
- 2h: 2 hours
{% sample lang="yaml" %}
# Print logs for the past hour
kubectl logs nginx-78f5d695bd-czm8z --since=1h
{% endmethod %}
{% method %}
Include Timestamps
Include timestamps in the log lines
{% sample lang="yaml" %}
# Print logs with timestamps
kubectl logs -l app=echo --timestamps
2018-11-16T05:26:31.38898405Z hello
2018-11-16T05:27:13.363932497Z hello
{% endmethod %}