Канонический ответ переключения / чтения / управления различными средами кубернетов (также известными как контексты кубернетов), как упомянул Марк, следует использовать kubectl config
, см. Ниже:
$ kubectl config
Modify kubeconfig files using subcommands like "kubectl config set current-context my-context"
Available Commands:
current-context Displays the current-context
delete-cluster Delete the specified cluster from the kubeconfig
delete-context Delete the specified context from the kubeconfig
get-clusters Display clusters defined in the kubeconfig
get-contexts Describe one or many contexts
rename-context Renames a context from the kubeconfig file.
set Sets an individual value in a kubeconfig file
set-cluster Sets a cluster entry in kubeconfig
set-context Sets a context entry in kubeconfig
set-credentials Sets a user entry in kubeconfig
unset Unsets an individual value in a kubeconfig file
use-context Sets the current-context in a kubeconfig file
view Display merged kubeconfig settings or a specified kubeconfig file
Usage:
kubectl config SUBCOMMAND [options]
За сценой стоит ~/.kube/config
файл YAML, в котором хранятся все доступные контексты с соответствующими учетными данными и конечными точками для каждого контекста.
Готовый Kubectl не позволяет легко управлять различными контекстами Kubernetes, как вы, вероятно, уже знаете. Вместо того, чтобы использовать собственный скрипт для управления всем этим, лучший подход - использовать зрелый инструмент под названием kubectx
, созданный гуглером по имени Ахмет Альп Балкан, который находится в команде разработчиков Kubernetes / Google Cloud Platform, которая создает подобные инструменты. Я очень рекомендую это.
https://github.com/ahmetb/kubectx
$ kctx --help
USAGE:
kubectx : list the contexts
kubectx <NAME> : switch to context <NAME>
kubectx - : switch to the previous context
kubectx <NEW_NAME>=<NAME> : rename context <NAME> to <NEW_NAME>
kubectx <NEW_NAME>=. : rename current-context to <NEW_NAME>
kubectx -d <NAME> [<NAME...>] : delete context <NAME> ('.' for current-context)
(this command won't delete the user/cluster entry
that is used by the context)
kubectx -h,--help : show this message