Please use kubectx instead.
Simple Plugin to display/change the current kube namespace with support for substring matching.
go version >= 1.13 with modules support enabled is required to build the plugin from source.
export GO111MODULES=on # optional if checked out outside of $GOPATH
go buildPre-compiled statically linked binaries are available on the releases page.
Binary must be placed anywhere in $PATH named kubectl-ns with execute permissions.
For further information, see the offical documentation on plugins here.
Known to work on Windows and Linux. Requires kubectl >= 1.12 (tested with versions >1.12). Supports the oidc, gcp and azure auth provider for authentication against the k8s api server.
For all the examples, assume your cluster has the following namespaces:
default
kube-system
kube-public
ingress-nginx
foo
bar
baz
Current namespace is displayed in a different color and last.
$ kubectl ns
default
kube-system
kube-public
ingress-nginx
foo
bar
bazSubstring matching can be used to display namespaces. For example if you are searching for a kube- namespace simply type:
$ kubectl ns kube-
kube-system
kube-publicYou can switch the namespace by providing an exact name:
$ kubectl ns foo
namespace set to "foo"But it's also possible to switch to the ingress-nginx namespace by typing a substring (as long as it is a unique name), for example:
$ kubectl ns ingress
namespace set to "ingress-nginx"