当您使用minikube时,它会自动创建本地配置,因此可以使用它 . 并且看起来kubectl命令中基于kubectl config的引用支持多个集群 .
在用于设置群集的文档中,有a reference to copying the relevant files to your local machine来访问群集 . 我还找到了一个与编辑kube / config文件有关的SO Q&A about editing your .kube/config to leverage azure remotely .
看起来环境变量 $KUBECONFIG
可以引用这些配置文件的多个位置,内置默认值为 ~/.kube/config
(这是minikube创建的) .
如果我想能够使用kubectl来调用多个集群的命令,我应该将相关的配置文件下载到一个新的位置(例如,进入 ~/gcloud/config
,设置 KUBECONFIG
环境变量来引用这两个位置?
或者,在调用kubectl来指定群集配置时,是否更好地显式使用 --kubeconfig
选项?
我不确定是否有某种方法可以合并更好的配置文件,而是利用 kubectl config set-context
或 kubectl config set-cluster
命令 . Kubernetes上的文档“Configure Access to Multiple Clusters"似乎暗示了使用 --kubeconfig
以及这些 kubectl config
命令的不同方法 .
简而言之,与多个独立的kubernetes集群进行交互的最佳方式是什么,以及权衡什么?
1 回答
我有一系列shell函数,可归结为
kubectl --context=$CTX --namespace=$NS
,允许我对每个shell进行语境化[1] . 但是如果你对这种方法很酷,那么你可能会对自己很感兴趣,而不是自己动手 . 我只是希望它是shell函数而不是子shell但是,否则,是的,我将所有配置值保存在一个
~/.kube/config
中脚注1:如果您还没有意识到,我也可以通过
title() { printf '\033]0;%s\007' "$*"; }
更改终端窗口的 Headers ,以便提醒我哪个群集/命名空间/等对该选项卡/窗口有效