Concurrent kubectl

A cli to simplify working with kubectl for some common workflows.


Find the latest binaries here or use homebrew on macOS

brew tap canopytax/ckube
brew install ckube


$ ckube
A CLI to simplify working with kubectl.

  ckube [command]

Available Commands:
  deployment  Get information about deployments
  exec        execute a command in a container
  help        Help about any command
  logs        get logs from a service
  ls          Interactive list of pods
  nodes       Lists pods grouped by node
  service     Interactive view of your services
  top         View cpu and memory usage for pods

      --context string      the kubernetes context (defaults to value currently used by kubectl)
  -h, --help                help for ckube
      --kubeconfig string   path to kubeconfig file to use for CLI requests (defaults to $KUBECONFIG or $HOME/.kube/config)
  -l, --labels string       Selector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)
  -n, --namespace string    the kubernetes namespace (defaults to value currently used by kubectl)

Use "ckube [command] --help" for more information about a command.

Targeting pods can be burdensome (i.e. in a deployment with replicas). If a k8s cluster has a service called nginx you could have several pods which might be named something like this:


Getting logs for the nginx service is easy with ckube

# single uspecified nginx pod:
ckube logs nginx

# all nginx pods
ckube logs nginx -a

# follow the logs
ckube logs nginx -f

Similar concurrent functionality exists for exec

You can toggle through your services and see the associated pods. ckube service

You can use ckube nodes to show which pods are running on each node

Get an interactive view of your pods with ckube ls. You can further refine the prompt results by searching using /. Selecting a pod will print detailed pod information returned by kubectl describe