Reputation: 21
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!
Upvotes: 2
Views: 2083
Reputation: 4067
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
Upvotes: 1
Reputation: 4504
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
Upvotes: 1