Kubernetes Context Configuration
Get the current context
kubectl config current-context
Get the list of contexts
kubectl config get-contexts
Switch the context
kubectl config use-context <context-name>
Set the default namespace for the current context
kubectl config set-context --current --namespace=<namespace-name>
Set the default namespace for the current context
kubectl config set-context --current --namespace=<namespace-name>
Display the first user
kubectl config view -o jsonpath='{.users[].name}'
Get a list of users
kubectl config view -o jsonpath='{.users[*].name}'
Display list of contexts
kubectl config get-contexts
Display the current-context
kubectl config current-context
Set the default context to my-cluster-name
kubectl config use-context my-cluster-name
Set a cluster entry in the kubeconfig
kubectl config set-cluster my-cluster-name
Configure the URL to a proxy server for requests made by this client in the kubeconfig
kubectl config set-cluster my-cluster-name --proxy-url=my-proxy-url
Add a new user to your kubeconf that supports basic auth
kubectl config set-credentials kubeuser/foo.kubernetes.com --username=kubeuser --password=kubepassword
Permanently save the namespace for all subsequent kubectl commands in that context
kubectl config set-context --current --namespace=ggckad-s2
Set a context utilizing a specific username and namespace
kubectl config set-context gce --user=cluster-admin --namespace=foo && kubectl config use-context gce
Delete user foo
kubectl config unset users.foo
Short alias to set/show context/namespace (only works for bash and bash-compatible shells, current context to be set before using kn to set namespace)
alias kx='f() { [ "$1" ] && kubectl config use-context $1 || kubectl config current-context ; } ; f'
alias kn='f() { [ "$1" ] && kubectl config set-context --current --namespace $1 || kubectl config view --minify | grep namespace | cut -d" " -f6 ; } ; f'