DEV Community

AK DevCraft
AK DevCraft Subscriber

Posted on • Edited on

2

Streaming logs of all pods at once

If you're like me who likes to see all of the log events in a single terminal then you're at right place. In this article we see how to view logs of single container pod with multiple replicas, logs of a particular container of a multi containers pod and logs of all containers of a multi containers pod. Here are the list of commands:

1. Stream logs of single container pod with multiple replicas

In Kubernetes it's all about labels and selectors. And I'm going to demonstrate commands using labels. In case you are not familiar with how to get label details from a pod or how to add label on a pod then jump to the end of this post.

Note: I prefer using alias, here 'k' is alias for kubectl. set it as alias k=kubectl

k logs -f -l <pod-label-value> --prefix
Enter fullscreen mode Exit fullscreen mode

Note: --prefix Prefix each log line with log source (pod and container names)

E.g.

k logs -f -l app-name=example-app --prefix
Enter fullscreen mode Exit fullscreen mode

Note: here app-name=example-app label is on the pod. If you would like to stream logs from multiple pods from different application deployments within a namespace, then use a common label that’s present across all pods, or add a such label.

2. Stream logs of a particular container of a multi-containers pod with multiple replicas

k logs -f -l <pod-label-value> --prefix -c <container-name>
Enter fullscreen mode Exit fullscreen mode

E.g.

k logs -f -l app-name=example-app --prefix -c example-conn
Enter fullscreen mode Exit fullscreen mode

Note: here app-name=example-app label is on the pod, and example-conn is the container name.

3. Stream logs of all containers of a multi-containers pod with multiple replicas

a. Using label

k logs -f -l <pod-label-value> --prefix -all-containers
Enter fullscreen mode Exit fullscreen mode

E.g.

k logs -f -l app-name=example-app --prefix -all-containers
Enter fullscreen mode Exit fullscreen mode

b. Using deployment name

k logs -f deploy/<deployment-name> --prefix -all-containers
Enter fullscreen mode Exit fullscreen mode

E.g.

k logs -f deply/example-deployment --prefix -all-containers
Enter fullscreen mode Exit fullscreen mode

4. Show labels associated with a pod

k get po <pod-name> --show-labels
Enter fullscreen mode Exit fullscreen mode

5. Add label on running pod

k label po <pod-name> app-name=example-app
Enter fullscreen mode Exit fullscreen mode

If you have reached here, then I made a satisfactory effort to keep you reading. Please be kind enough to leave any comments or ask for any corrections. Happy Kuberneting!

Other Blogs:

Image of Timescale

Timescale – the developer's data platform for modern apps, built on PostgreSQL

Timescale Cloud is PostgreSQL optimized for speed, scale, and performance. Over 3 million IoT, AI, crypto, and dev tool apps are powered by Timescale. Try it free today! No credit card required.

Try free

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Engage with a sea of insights in this enlightening article, highly esteemed within the encouraging DEV Community. Programmers of every skill level are invited to participate and enrich our shared knowledge.

A simple "thank you" can uplift someone's spirits. Express your appreciation in the comments section!

On DEV, sharing knowledge smooths our journey and strengthens our community bonds. Found this useful? A brief thank you to the author can mean a lot.

Okay