Kubernetes - kubeconfig
Config
TL;DR: config defines clusters and users.
To check the current config:
$ kubectl config view
Default kubeconfig: $HOME/.kube/config
On admin node: /etc/kubernetes/admin.conf
To talk to a different cluster:
$ kubectl --kubeconfig /path/to/kubeconfig
A config has multiple contexts.
kubeconfig
is a Config
:
apiVersion: v1
kind: Config
Context
TL;DR: context = a cluster + a user + a namespace (Each of the three is optional)
A context in Kubernetes is a group of access parameters. Each context contains a Kubernetes cluster, a user, and a namespace. The current context is the cluster that is currently the default for kubectl
: all kubectl
commands run against that cluster. Each of the context that have been used will be available on your .kubeconfig
.
A context is the connection to a specific cluster (username/apiserver host) used by kubectl.
"Context" only applies in the kubernetes client-side (where you run the kubectl
command); kubernetes server-side doesn't recognize the term 'context'.
# Show current context
$ kubectl config current-context
# Get all contexts
$ kubectl config get-contexts
Stored as a Secret
Kubeconfig may be stored as a Secret.