Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

ktail is a tool to tail Kubernetes logs. It's like kubectl logs, but with a bunch of features to make it more convenient.

Detects pods and containers as they come and go. If you run ktail foo and later start a pod or container named foo, then it will be picked up automatically. kubectl only works on a running pod/container.

Tails multiple pods and containers at the same time, based on names and labels. kubectl can only tail a single pod and container. ktail will match the pattern or patterns you specify against both the pod name and the container name.

All containers are tailed by default, not just a specific one. With kubectl, you have to use -c. With ktail, just do ktail foo and all its containers are automatically tailed.

Recovers from failure. ktail will keep retrying forever. kubectl just gives up.


Tailing based on label:

$ ktail -l app=myapp

This will tail all containers in all pods matching the label app=myapp. As new pods are created, it will also automatically tail those, too.

It's also possible to filter on pod/container name. The following will match all containers whose pod name or container name contains the substring foo:

$ ktail foo

The arguments are regular expressions, so this is possible:

$ ktail '^foo'

If no filters are specified, all pods in the current namespace are tailed.

To abort tailing, hit Ctrl+C.


Run ktail -h for usage.


ktail has a basic output format. To override, you can use a simple Go template. For example:

$ ktail -t "{{.Container.Name}} {{.Message}}"

The following variables are available:

  • Timestamp: The time of the log event.
  • Message: The log message.
  • Pod: The pod object. It has properties such as Name, Namspace, Status, etc.
  • Container: The container object. It properties such as Name.



$ brew tap atombender/ktail
$ brew install atombender/ktail/ktail

Binary installation

Precompiled binaries for Windows, macOS, Linux (x64 and ARM) are available on the GitHub release page.


$ curl -L -o ktail
$ chmod +x ktail
$ sudo mv ./ktail /usr/local/bin/ktail


$ curl -L -o ktail
$ chmod +x ktail
$ sudo mv ./ktail /usr/local/bin/ktail


Download from GitHub and add the binary to your PATH.

From source

This requires Go >= 1.10, as we use Go modules.

$ mkdir -p $GOPATH/src/
$ cd $GOPATH/src/
$ git clone
$ cd ktail
$ go install .


Some setup code was borrowed from k8stail.


MIT license. See LICENSE file.

You can’t perform that action at this time.