Jawaban kanonik untuk beralih / membaca / memanipulasi lingkungan kubernetes yang berbeda (alias konteks kubernetes) adalah, seperti yang disebutkan Mark, untuk digunakan kubectl config
, lihat di bawah ini:
$ 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]
Di balik layar, ada ~/.kube/config
file YAML yang menyimpan semua konteks yang tersedia dengan kredensial dan endpoint yang sesuai untuk setiap konteks.
Kubectl off the shelf tidak membuatnya mudah untuk mengelola konteks kubernetes yang berbeda seperti yang mungkin sudah Anda ketahui. Daripada memutar skrip Anda sendiri untuk mengelola semua itu, pendekatan yang lebih baik adalah dengan menggunakan fitur dewasa yang disebut kubectx
, dibuat oleh Googler bernama "Ahmet Alp Balkan" yang berada di Kubernetes / Google Cloud Platform developer, mengalami Tim yang membuat fitur seperti ini. Saya sangat merekomendasikannya.
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