我正在尝试访问当前集群的当前上下文,目前我正在休息。配置使用:
config, err := rest.InClusterConfig()
if err != nil {
panic(err.Error())
}
我如何从该配置中提取CurrentContext ?
Context仅适用于Kubernetes客户端,也就是说,适用于运行kubectl命令的地方。在Kubernetes集群中运行的pod没有上下文的概念。
在本地机器上,上下文在. kubecconfig文件中设置。在集群中,您需要从InClusterConfig中读取,并提供所有必需的详细信息,否则这些信息将保存在本地上下文中。
在集群中获取Kubernetes clientSet的示例代码:
func GetK8sClient() *kubernetes.Clientset {
config, err := rest.InClusterConfig()
if err != nil {
panic(err.Error())
}
// creates the clientset
clientset, err := kubernetes.NewForConfig(config)
if err != nil {
panic(err.Error())
}
return clientset
}