Faster way to switch between clusters and namespaces in kubectl
Go to file
Ahmet Alp Balkan 8e413fc8ac
Fallback to readlink -f on macOS
BSD coreutils readlink doesn't have -f option, so
adding a Python one-liner feedback to eval symlinks/homedir.
Fixes #8.

Signed-off-by: Ahmet Alp Balkan <ahmetb@google.com>
2017-05-17 09:37:57 -07:00
completion Add --with-short-names option 2017-05-16 22:01:46 -07:00
Formula Update Homebrew Formula with v0.3.0 2017-05-16 22:19:32 -07:00
CONTRIBUTING.md Add {README,CONTRIBUTING}.md 2017-03-29 00:30:12 -07:00
kubectx Fallback to readlink -f on macOS 2017-05-17 09:37:57 -07:00
kubens Fallback to readlink -f on macOS 2017-05-17 09:37:57 -07:00
LICENSE Initial import 2017-03-28 17:24:14 -07:00
README.md Refactor completion descriptions on README 2017-05-16 22:12:57 -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 supports Tab completion on bash/zsh shells to help with long context names. You don't have to remember full context names anymore.


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".

kubens also supports Tab completion on bash/zsh shells.


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.

Running brew install with --with-short-names will install tools with names kctx and kns to prevent prefix collision with kubectl name.

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.