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 month 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 7 years ago)
- Default Branch: master
- Last Pushed: 2021-09-10T16:35:42.000Z (over 3 years ago)
- Last Synced: 2025-03-12T02:11:22.729Z (2 months 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 podsFlags:
--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 acceptedIf 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
```