kubernetes client-go:将labelselector转换为标签字符串

时间:2019-05-21 04:38:11

标签: go kubernetes kubernetes-go-client

在kubernetes client-go API(或使用它的另一个库)中,有实用程序函数将k8s.io/apimachinery/pkg/apis/meta/v1/LabelSelector转换为字符串以填充LabelSelector中的字段k8s.io/apimachinery/pkg/apis/meta/v1/ListOptions

我浏览了client-go的代码,但找不到类似的函数。

LabelSelector.Marshall()LabelSelector.String()都给了我(毫不奇怪,因为那不是他们的目的,但我还是尝试了)。

背景

我有类似k8s.io/api/extensions/v1beta1/Deployment的规格说明,并想使用它的选择器标签集(即Selector字段)来使用

查询它的广告连播。
options := metav1.ListOptions{
    LabelSelector: <stringified labels>,
}

podList, err := clientset.CoreV1().Pods(<namespace>).List(options)

1 个答案:

答案 0 :(得分:0)

您可以使用LabelSelectorAsMap(LabelSelector)函数将labelselector转换为map[string]string映射。

然后,使用软件包SelectorFromSet的{​​{1}}函数将k8s.io/apimachinery/pkg/labels转换为选择器/字符串。

伪代码:

map