Faster way to switch between clusters and namespaces in kubectl
Go to file
Ahmet Alp Balkan a376b02e88
Add --with-short-names option
This allows linking as "kctx" and "kns" to prevent overlap with kubectl Tab
completion when user hits `ku<Tab>`. Fixes #3.

Also fixed variables KUBECTX and PREV leaking to zsh shell once the _kubectx
function is invoked.

Signed-off-by: Ahmet Alp Balkan <ahmetb@google.com>
2017-05-16 22:01:46 -07:00
completion Add --with-short-names option 2017-05-16 22:01:46 -07:00
Formula Add --with-short-names option 2017-05-16 22:01:46 -07:00
CONTRIBUTING.md Add {README,CONTRIBUTING}.md 2017-03-29 00:30:12 -07:00
kubectx Add kubens tool for namespace switching 2017-05-16 19:06:58 -07:00
kubens Add kubens tool for namespace switching 2017-05-16 19:06:58 -07:00
LICENSE Initial import 2017-03-28 17:24:14 -07:00
README.md Add kubens tool for namespace switching 2017-05-16 19:06:58 -07:00
utils.bash Add kubens tool for namespace switching 2017-05-16 19:06:58 -07:00

This repository provides both kubectx and kubens tools. Purpose of this project is to provide an utility and facilitate discussion about how kubectl can manage contexts better.

kubectx(1)

kubectx is an utility to manage and switch between kubectl(1) contexts.

USAGE:
  kubectx                   : list the contexts
  kubectx <NAME>            : switch to context
  kubectx -                 : switch to the previous context
  kubectx <NEW_NAME>=<NAME> : create alias for context
  kubectx -h,--help         : show this message

Purpose of this project is to provide an utility and facilitate discussion about how kubectl can manage contexts better.

Usage

$ kubectx minikube
Switched to context "minikube".

$ kubectx -
Switched to context "oregon".

$ kubectx -
Switched to context "minikube".

$ kubectx dublin=gke_ahmetb_europe-west1-b_dublin
Context "dublin" set.
Aliased "gke_ahmetb_europe-west1-b_dublin" as "dublin".

kubectx also supports Tab completion, which helps with long context names.


kubens(1)

kubens is an utility to switch between Kubernetes namespaces.

USAGE:
  kubens                    : list the namespaces
  kubens <NAME>             : change the active namespace
  kubens -                  : switch to the previous namespace
  kubens -h,--help          : show this message

Usage

$ kubens kube-system
Context "test" set.
Active namespace is "kube-system".

$ kubens -
Context "test" set.
Active namespace is "default".

kubectx also supports Tab completion, which helps with long context names.


Installation

For macOS:

Use Homebrew package manager:

 brew tap ahmetb/kubectx https://github.com/ahmetb/kubectx.git
 brew install kubectx

this will also set up bash/zsh completion scripts automatically.

Other platforms:

Download the kubectx script, make it executable and add it to your PATH. You can also install bash/zsh completion scripts manually.


Disclaimer: This is not an official Google product.