คำตอบที่เป็นที่ยอมรับของการสลับ / การอ่าน / การจัดการสภาพแวดล้อม kubernetes ที่แตกต่างกัน (aka kubernetes contexts) คือตามที่ Mark กล่าวถึงเพื่อใช้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
"Ahmet Alp Balkan" ซึ่งเป็นทีมพัฒนา Kubernetes / Google Cloud Platform ซึ่งเป็นผู้พัฒนา 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