krishnapmv / kubectx

Fast way to switch between clusters and namespaces in kubectl!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This repository provides both kubectx and kubens tools.

kubectx help you switch between clusters back and forth: kubectx demo GIF

kubens help you switch between Kubernetes namespaces smoothly: kubens demo GIF

kubectx(1)

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 -h,--help         : show this message

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/fish 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/fish shells.


Installation

macOS:

🎊 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 names kctx and kns to prevent prefix collision with kubectl name.

  • If you like to add context/namespace info to your shell prompt ($PS1), I recommend trying out kube-ps1.

Linux:

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, kubens and utils.bash 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 your PATH, like /usr/local/bin
  • Make kubectx and kubens executable (chmod +x ...)
  • Figure out how to install bash/zsh/fish completion scripts.

Users

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

Disclaimer: This is not an official Google product.

Stargazers over time

Stargazers over time

About

Fast way to switch between clusters and namespaces in kubectl!

License:Apache License 2.0


Languages

Language:Shell 100.0%