:
kubectl config view --minify -o jsonpath='..namespace' If it's empty, the context defaults to default namespace. Set a default namespace for the context:
| Method | Persistence | Use Case | |--------|-------------|-----------| | kubectl config use-context | Permanent (updates file) | Day-to-day interactive work | | --context flag | One command | Ad-hoc query in another cluster | | $KUBECONFIG_CONTEXT env var | Shell session | Temporary context for a script block | | kubectx | Permanent | Faster, interactive switching | Conclusion The command kubectl config use-context is deceptively simple but profoundly powerful. It is the steering wheel of your Kubernetes command-line interface. Mastering it means moving confidently between environments, reducing costly mistakes (like applying a production manifest to a local cluster), and building muscle memory for safe cluster operations. kubectl change current context
Switched to context "prod-eks". kubectl config current-context Or just check the get-contexts output again—the * will have moved. 4. Advanced: Changing Context Temporarily (Without Modifying Kubeconfig) Sometimes you don’t want to permanently change the current context—for a single command or a script. Option A: --context flag kubectl get pods --context=staging-gcp This overrides the current context for one command only. Option B: Override via environment variable export KUBECONFIG_CONTEXT=prod-eks kubectl get nodes # Uses prod-eks without permanently switching Option C: Inline override for a shell session alias kprod='kubectl --context=prod-eks' kprod get pods 5. Common Pitfalls and Troubleshooting Pitfall 1: "No context found" Error : error: no context exists with the name "xyz"
In the daily life of a Kubernetes administrator or developer, the ability to seamlessly navigate between clusters, namespaces, and users is not a luxury—it's a necessity. Whether you are troubleshooting a production cluster in us-east-1 , deploying a microservice to a staging environment on-premises, or testing a new feature in a local kind cluster, you need a reliable, fast, and auditable way to switch your kubectl focus. : kubectl config view --minify -o jsonpath='
# Switch to the first context whose cluster name contains "fra1" CONTEXT=$(kubectl config get-contexts -o name | grep fra1 | head -1) kubectl config use-context "$CONTEXT" Many power users install kubectx for faster switching:
kubectl config set-context --current --namespace=my-team Switch context in a CI pipeline kubectl config use-context "$CI_ENVIRONMENT_NAME" kubectl rollout status deployment/app Switch using jq and yq (advanced) If you need to switch based on cluster region or tag: you need a reliable
kubectl config get-contexts -o name Cause : You may have an environment variable $KUBECONFIG pointing to a different file, or you're using a shell alias that hardcodes --context .