我正在尝试获取/打印当前kubernetes上下文的名称,因为它是在~/.kube/config使用中配置的client-go我已经设法验证并获取*rest.Config对象 config, err = clientcmd.NewNonInteractiveDeferredLoadingClientConfig(
&clientcmd.ClientConfigLoadingRules{ExplicitPath: pathToKubeConfig},
&clientcmd.ConfigOverrides{
CurrentContext: "",
}).ClientConfig()但我在config结构中看不到任何相关字段。请注意,尽管我在返回的对象中传递了一个空字符串 ( ""),但它为我提供了一个基于我当前上下文的。ConfigOverridesconfigkubernetes.Clientsetkubectl
1 回答
元芳怎么了
TA贡献1798条经验 获得超7个赞
该函数ClientConfig()
返回 Kubernetes API 客户端配置,因此它没有关于您的配置文件的信息。
要获取当前上下文,您需要调用RawConfig()
,然后有一个名为 的字段CurrentContext
。
以下代码应该可以工作。
config, err := clientcmd.NewNonInteractiveDeferredLoadingClientConfig( &clientcmd.ClientConfigLoadingRules{ExplicitPath: pathToKubeConfig}, &clientcmd.ConfigOverrides{ CurrentContext: "", }).RawConfig() currentContext := config.CurrentContext
- 1 回答
- 0 关注
- 79 浏览
添加回答
举报
0/150
提交
取消