❌ → In older versions (<1.19), you needed --current . Modern versions assume --current by default.
❌ → Make sure your context is set first with kubectl config use-context . When to use kubectl set namespace ✅ You frequently work in one namespace and are tired of -n flag. ✅ You’re switching between namespaces often. ✅ You want to avoid accidentally running commands in the wrong namespace. Would you like a comparison with kubens (from kubectx) or tips for scripting namespace changes? kubectl set namespace
kubectl set namespace ""
Namespace set to "my-namespace". kubectl config view --minify | grep namespace or ❌ → In older versions (<1
kubectl set namespace dev-env
kubectl config get-contexts kubectl set namespace staging kubectl config get-contexts | Purpose | Command | |---------|---------| | Temporary namespace for one command | kubectl get pods -n my-namespace | | Change context namespace explicitly | kubectl config set-context --current --namespace=my-namespace | | View current namespace | kubectl config view --minify -o jsonpath='..namespace' | Common mistakes ❌ Expecting it to update existing objects → No, it only changes default for future commands. When to use kubectl set namespace ✅ You
kubectl set namespace --current <namespace> 1. Check current namespace context kubectl config get-contexts Look under the NAMESPACE column for your current context. If empty, it means default namespace is used. 2. Change to a different namespace kubectl set namespace my-namespace Output example: