简体   繁体   中英

Can I use regular expression for job name in kubernetes python client?

I'm a very new user of k8s python client.

I'm trying to find the way to get jobs with regex in python client.

For example in CLI,

kubectl describe jobs -n mynamespace partial-name-of-job

gives me the number of jobs whose name has partial-name-of-job in "mynamespace".

I'm trying to find the exact same code in python client.

I did several searches and some are suggested to use label selector, but the python client API function BatchV1Api().read_namespaced_job() requires the exact name of jobs.

Please let me know if there's a way!

Unfortunately, read_namespaced_job doesn't allow to filter jobs with name pattern.

There is list_namespaced_job that have field_selector argument. But field_selector supports a limited list of operators:

You can use the =, ==, and != operators with field selectors (= and == mean the same thing).

So, if you want to apply regex filter to job list, I'd suggest to get full list and then filter it using Python regex

kubectl describe jobs (it describes all jobs in default namespace) instead of returning the number of jobs.

So as mentioned by Yasen please use list_namespaced_job with namespace parameter it gives api request like kubectl get --raw=/apis/batch/v1/namespaces/{namespace}/jobs

You can also modify your script and get some specific value. Please run kubectl get or describe --v=8 to get the strict api request. Please refer to Kubectl output verbosity and debugging

Hope this help

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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