pythonkuberneteslabel

How can I get pods by label, using the python kubernetes api?


I am using the python kubernetes api with list_namespaced_pod to get the pods in my namespace. Now I would like to filter them, using the optional label selector parameter.

The documention describes this parameter as

A selector to restrict the list of returned objects by their labels. Defaults to everything.

It does not bother to give an example. On this website, I found several possibilities on how to use the attribute. I already tried

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

non of which is working. How do I use the parameter label_selector correctly?


Solution

  • Kubernetes CLI uses two types of label selectors.

    1. Equality Based

      e.g. kubectl get pods -l key=value

    2. Set Based

      e.g. kubectl get pod -l 'key in (value1,value2)'

    Using

    label_selector='label=my_label'
    

    should work.

    If it doesn't, try using

    label_selector='label in (my_label1, my_label2)'
    

    If it still does not work the error might be coming from somewhere else.