在 client-go 中按标签过滤秘密对象

Filter secret objects by label in client-go

我正在尝试使用 k8s go 客户端库从我的集群中获取一些秘密对象,如下所示

secret, err := clientset.CoreV1().Secrets("mynamespace").Get("name-of-my-secret", metav1.GetOptions{})

只要我只需要一个对象,这个方法就很有效。

我现在有一个案例需要获取几个这样的秘密对象,但是现在必须根据标签来完成。 (即获取所有与 foo=someprovider.someurl.com/path1=value1 标签匹配的秘密对象)

但是在相关的 docs 中我没有看到将标签 selectors 传递给 GetOptions 结构的方法,我假设它执行这种过滤。

关于如何select(可能多个)基于标签的此类资源有什么建议吗?

clientset.CoreV1().Secrets("").List(context.TODO(), metav1.ListOptions{LabelSelector: "k8s-app=kube-proxy"})