谁能告诉我如何使用Go列出k8s中的所有名称空间?我一直在引用这个链接,但找不到任何可以列出所有名称空间的东西。
链接:https://pkg.go.dev/github.com/gruntwork-io/terratest/modules/k8s
我在Go中没有看到任何k8s包的ListNamespaces
函数。
试试kubernetes/client-go,你可以像clientset.CoreV1().Namespaces("").List(context.TODO(), metav1.ListOptions{})
那样做。您的clientset
可能在集群内或外部实例化。
要列出名称空间,您可以使用如下命令:
func ListNameSpaces(coreClient kubernetes.Interface) {
nsList, err := coreClient.CoreV1().
Namespaces().
List(context.Background(), metav1.ListOptions{})
//checkErr(err)
fmt.Println(err)
for _, n := range nsList.Items {
fmt.Println(n.Name)
}
}