【发布时间】:2023-02-04 01:13:52
【问题描述】:
过去,我使用 $HOME/.kube/config 从 Rancher 下载 kubeconfig 文件。
只有一个 kubeconfig 文件(参见docs),所以我从来没有想过正在使用哪个文件。
昨天,我切换到使用 KUBECONFIG 环境变量,因为我现在正在使用几个 k8s 集群(prod、stg、dev),这就是 devops 团队告诉我要做的,所以我做到了(并且成功了)。为了便于讨论,命令是:
export KUBECONFIG=$HOME/.kube/config-prod:$HOME/.kube/config-stage
所以现在我可以使用以下命令来使用临时 K8S 集群。
kubectl config current-context
# verify I'm in the using the right k8s config, and switch if necessary
kubectl config use-context dev <<< WHERE DOES kubectl store this setting???
kubectl config set-context --current --namespace MyDeploymentNamespace
kubectl get pods
我的问题是kubectl 如何知道正在使用哪个 kube 配置文件?它在哪里存储当前选择的上下文?
或者相反
kubectl 是否在逻辑上连接 KUBECONFIG 环境变量中定义的所有 kubeconfig 文件以访问任何已定义的 Kubernetes 集群?
寻找答案
我找到了类似问题的几个答案,但不是这个问题。
其中解释了如何将文件
kubectl config current-context -v6
I0203 14:59:05.926287 30654 loader.go:375] Config loaded from file: /home/user1/.kube/config
dev
我想问这些信息存储在哪里?
我唯一的猜测是在 $HOME/.kube/cache 目录中,我在其中找到了大量文件。
一些 Kubernetes 文档
【问题讨论】:
标签: kubectl