我正在尝试以编程方式从〜/ .kube / config中获取当前上下文的名称空间Go。
到目前为止,我尝试过的是来自以下模块:
"k8s.io/client-go/tools/clientcmd"
"k8s.io/client-go/kubernetes"
kubeconfig := filepath.Join(
os.Getenv("HOME"), ".kube", "config",
)
config, err := clientcmd.BuildConfigFromFlags("", kubeconfig)
if err != nil {
log.Fatal(err)
}
fmt.Printf("Namespace: %s\n", config.Namespace())
clientset, err := kubernetes.NewForConfig(config)
if err != nil {
log.Fatal(err)
}
Run Code Online (Sandbox Code Playgroud)
但是仍然没有线索,如果clientset可以给我我想要的命名空间。从这个线程: 如何获取集群中的当前名称空间转到Kubernetes客户端
它说了一些要做的事情:kubeconfig.Namespace()