Если вы работаете с Kubernetes, то наверняка устали дописывать
-n my-namespace к каждой команде. Это раздражает, отнимает время и рано или поздно приводит к ошибке — забыли флаг, команда ушла в default, получили не тот результат.Проблема решается одной строкой:
kubectl config set-context --current --namespace=<namespace>
Эта команда меняет namespace по умолчанию в текущем контексте вашего kubeconfig. После выполнения все последующие вызовы
kubectl будут работать с указанным namespace без дополнительных флагов.Допустим, вы работаете с namespace
staging:kubectl config set-context --current --namespace=staging
Теперь
kubectl get pods покажет поды именно из staging. Не нужно писать kubectl get pods -n staging каждый раз.Как проверить текущий namespace
Убедиться, какой namespace сейчас выставлен, можно так:
kubectl config view --minify --output 'jsonpath={..namespace}'Если команда ничего не вернула, значит, используется
default.Что важно понимать
Настройка сохраняется в файле
~/.kube/config и действует не только на текущую сессию терминала. Она будет активна до тех пор, пока вы не переключитесь на другой namespace или не смените контекст. Для тех, кто переключает namespace часто, есть утилита
kubens из пакета kubectx. Она делает то же самое, но короче:kubens staging
Мелочь, но экономит десятки лишних символов в день.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#root_prompt
