This repository provides both kubectx
and kubens
tools.
kubectx
helps you switch between clusters back and forth:
kubens
helps you switch between Kubernetes namespaces smoothly:
kubectx is an utility to manage and switch between kubectl(1) contexts.
USAGE:
kubectx : list the contexts
kubectx <NAME> : switch to context <NAME>
kubectx - : switch to the previous context
kubectx <NEW_NAME>=<NAME> : rename context <NAME> to <NEW_NAME>
kubectx <NEW_NAME>=. : rename current-context to <NEW_NAME>
kubectx -d <NAME> : delete context <NAME> ('.' for current-context)
(this command won't delete the user/cluster entry
that is used by the context)
$ 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/fish shells to help with
long context names. You don't have to remember full context names anymore.
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 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/fish shells.
๐ Use the Homebrew package manager:
brew install kubectx
This command will set up bash/zsh/fish completion scripts automatically.
-
Running
brew install
with--with-short-names
will install tools with nameskctx
andkns
to prevent prefix collision withkubectl
name. -
If you like to add context/namespace info to your shell prompt (
$PS1
), I recommend trying out kube-ps1.
Since kubectx
/kubens
are written in Bash, you should be able to instal
them to any POSIX environment that has Bash installed.
- Download the
kubectx
, andkubens
scripts. - Either:
- save them all to somewhere in your
PATH
, - or save them to a directory, then create symlinks to
kubectx
/kubens
from somewhere in yourPATH
, like/usr/local/bin
- save them all to somewhere in your
- Make
kubectx
andkubens
executable (chmod +x ...
) - Figure out how to install bash/zsh/fish completion scripts.
Example installation steps:
sudo git clone https://github.com/ahmetb/kubectx /opt/kubectx
sudo ln -s /opt/kubectx/kubectx /usr/local/bin/kubectx
sudo ln -s /opt/kubectx/kubens /usr/local/bin/kubens
An unofficial AUR package kubectx
is available. Install instructions can be found on the Arch
wiki.
Available as a Debian package for Debian Buster (testing), Sid (unstable) (note: if you are unfamiliar with Debian release process and how to enable testing/unstable repos, check the Debian Wiki):
sudo apt install kubectx
If you like to customize the colors indicating the current namespace or context, set the environment variables KUBECTX_CURRENT_FGCOLOR
and KUBECTX_CURRENT_BGCOLOR
:
export KUBECTX_CURRENT_FGCOLOR=$(tput setaf 6) # blue text
export KUBECTX_CURRENT_BGCOLOR=$(tput setaf 7) # white background
Refer color codes here
What are others saying about kubectx? |
---|
โThank you for kubectx & kubens - I use them all the time & have them in my k8s toolset to maintain happiness :) โ โ @pbouwer |
โI can't imagine working without kubectx and especially kubens anymore. It's pure gold.โ โ @timoreimann |
โI'm liking kubectx from @ahmetb, makes it super-easy to switch #Kubernetes contexts [...]โ โ @lizrice |
โAlso using it on a daily basis. This and my zsh config that shows me the current k8s context ๐โ โ @puja108 |
โLately I've found myself using the kubens command more than kubectx. Both very useful though :-)โ โ @stuartleeks |
โyeah kubens rocks!โ โ @embano1 |
โSpecial thanks to Ahmet Alp Balkan for creating kubectx, kubens, and kubectl aliases, as these tools made my life better.โ โ @strebeld |
If you liked
kubectx
, you may like mykubectl-aliases
project, too.
Disclaimer: This is not an official Google product.