如何使用python kubernetes api按标签获取豆荚?

时间:2018-09-18 13:25:20

标签: python kubernetes label

我正在将Python kubernetes api与list_namespaced_pod一起使用,以在我的命名空间中获取容器。现在,我想使用可选的标签选择器参数过滤它们。

documention将此参数描述为

  

一个选择器,用于通过其标签限制返回对象的列表。   默认为所有内容。

举个例子并不麻烦。在this website上,我发现了几种使用属性的可能性。我已经尝试过

label_selector='label=my_label'
label_selector='label:my_label'
label_selector='my_label'

都不起作用。如何正确使用参数label_selector?

3 个答案:

答案 0 :(得分:2)

Kubernetes CLI使用两种类型的标签选择器。

  1. 基于平等 例如:kubectl get pods -l key=value

  2. 基于设置 例如:kubectl get pod -l 'key in (value1,value2)'

label_selector='label=my_label'

应该可以,否则请尝试使用

label_selector='label in (my_label1, my_label2)'

如果这不起作用,则错误可能来自其他地方。

答案 1 :(得分:0)

(Python客户端)对我有用,它返回JSON

public class Document
{
    public string TranId { get; set; }        
    public Record Record { get; set; }
    public List<Error> Errors { get; set; }
}

public class Record
{
    public string TranId { get; set; }    
    public List<DataResult> DataResults { get; set; }
}

public class DataResult
{
    public string DataSourceName { get; set; }
    public List<DataField> DataFields { get; set; }
    public List<CustomField> CustomFields { get; set; }        
}

答案 2 :(得分:-1)

这对我有用:

v1.list_namespaced_pod(namespace='default', label_selector='job_name={}'.format(name))