https://github.com/canopytax/ckube
A cli to simplify working with kubectl for some common workflows
https://github.com/canopytax/ckube
cli common-workflows containers golang hightower-approved kubectl kubernetes kubernetes-monitoring logs pod
Last synced: about 1 year ago
JSON representation
A cli to simplify working with kubectl for some common workflows
- Host: GitHub
- URL: https://github.com/canopytax/ckube
- Owner: CanopyTax
- License: mit
- Created: 2017-11-17T22:22:25.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2021-09-10T16:35:42.000Z (almost 5 years ago)
- Last Synced: 2025-03-12T02:11:22.729Z (over 1 year ago)
- Topics: cli, common-workflows, containers, golang, hightower-approved, kubectl, kubernetes, kubernetes-monitoring, logs, pod
- Language: Go
- Homepage:
- Size: 2.05 MB
- Stars: 133
- Watchers: 8
- Forks: 10
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Concurrent kubectl
 [](https://travis-ci.org/CanopyTax/ckube) [](https://goreportcard.com/report/github.com/CanopyTax/ckube) [](https://github.com/CanopyTax/ckube/releases/latest) [](https://opensource.org/licenses/MIT)
A cli to simplify working with kubectl for some common workflows
#### Installation
Find the latest binaries [here](https://github.com/canopytax/ckube/releases/) or use `homebrew` on macOS
```
brew tap canopytax/ckube
brew install ckube
```
#### Usage
```$xslt
$ ckube
A CLI to simplify working with kubectl.
Usage:
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
Flags:
--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:
```$xslt
nginx-3528986049-kpd4z
nginx-3528986049-71s10
nginx-3528986049-f6mwf
nginx-3528986049-ltx6j
nginx-3528986049-m3cmm
nginx-3528986049-h8cnn
nginx-3528986049-6v4c1
```
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
[](https://asciinema.org/a/150564)
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`

Read the blog post about `ckube` [here](https://devonmoss.com/concurrent-kubectl)
#### Contributing
PR's accepted
If you are looking to build the project or would like to contribute:
```$xslt
go get -d github.com/canopytax/ckube
cd $GOPATH/src/github.com/canopytax/ckube
```