【发布时间】:2020-04-29 16:07:48
【问题描述】:
我想使用 Kubernetes Go 客户端在集群中执行各种操作。
我正在加载包含多个集群和上下文的本地 kubeconfig。默认上下文是prod,我要覆盖的配置值之一是CurrentContext
clientConfig := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(
&clientcmd.ClientConfigLoadingRules{ExplicitPath: "/Users/me/.kube/config"},
&clientcmd.ConfigOverrides{
CurrentContext: "stage",
})
rawConfig, _ := clientConfig.RawConfig()
log.Printf(rawConfig.CurrentContext) // outputs "prod" instead of "stage"
当我检查RawConfig() 时,当前上下文仍然是“prod”而不是“stage”。
为什么配置覆盖不起作用?
还有 AuthInfo 等的覆盖是如何工作的?覆盖只接受一个AuthInfo,而配置包含AuthInfo 等的映射。
GitHub 相关问题https://github.com/kubernetes/client-go/issues/735
【问题讨论】:
标签: go kubernetes kubernetes-go-client