简体   繁体   English

列出 Go 中 k8s 中的所有命名空间

[英]List all namespaces in k8s in Go

Can anyone tell me how to list all namespaces in k8s using Go?谁能告诉我如何使用 Go 列出 k8s 中的所有命名空间? I have been referencing this link but couldn't find anything that can list all namespaces.我一直在引用此链接,但找不到可以列出所有名称空间的任何内容。

Link: https://pkg.go.dev/github.com/gruntwork-io/terratest/modules/k8s链接: https ://pkg.go.dev/github.com/gruntwork-io/terratest/modules/k8s

I don't see any ListNamespaces functions for the k8s package in Go.我在 Go 中没有看到 k8s 包的任何ListNamespaces函数。

To list namespaces you can use something like this:要列出命名空间,您可以使用如下内容:

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)
    }
}

Try kubernetes/client-go , you can do like clientset.CoreV1().Namespaces("").List(context.TODO(), metav1.ListOptions{}) .试试kubernetes/client-go ,你可以像clientset.CoreV1().Namespaces("").List(context.TODO(), metav1.ListOptions{}) Your clientset maybe instantiate within the cluster or outside.您的客户clientset可能在集群内部或外部进行实例化。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM