Kontext = Cluster + User + Namespace
kubectl config get-contexts zeigt alle,
use-context wechselt, set-context --current
setzt den Default-Namespace.
Merge: KUBECONFIG nimmt eine
Pfad-Liste (:-getrennt), erste Definition gewinnt.
config view --flatten schreibt daraus eine Datei.
--kubeconfig pinnt pro Aufruf.
Version-Skew
kubectl ist innerhalb einer Minor-Version
(älter oder neuer) zum kube-apiserver supported: ein
v1.37-Client deckt v1.36 bis v1.38 ab. Bei HA-Clustern mit
gemischten API-Server-Versionen wird das Fenster enger.
kubectl version zeigt beide Seiten, bei
Cluster-Flotten mit Versions-Spread den Client bewusst
wählen.
kuberc: CLI-Verhalten, nicht Cluster-Zugriff
~/.kube/kuberc (Beta seit v1.34, Pfad per
KUBERC oder --kuberc) hält Aliase
und Default-Flags getrennt von der kubeconfig.
credentialPluginPolicy: Allowlist begrenzt, welche
exec-Credential-Plugins laufen dürfen. KUBERC=off
schaltet die Datei ab, etwa in CI.
kubectl config get-contexts kubectl config use-context prod-admin kubectl config set-context --current --namespace=payments export KUBECONFIG=~/.kube/prod.yaml:~/.kube/lab.yaml kubectl config view --flatten > ~/.kube/merged.yaml kubectl version # Client- vs. Server-Version (Skew) kubectl kuberc set --section defaults --command delete \ --option interactive=true