繁体   English   中英

我可以在kubernetes python客户端中使用正则表达式作为工作名称吗?

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

我是k8s python客户端的非常新的用户。

我正在尝试找到在python客户端中使用正则表达式获得工作的方法。

例如在CLI中,

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

给我提供partial-name-of-job “ mynamespace”中的partial-name-of-job数。

我试图在python客户端中找到完全相同的代码。

我进行了几次搜索,建议使用标签选择器,但是python客户端API函数BatchV1Api().read_namespaced_job()需要作业的确切名称。

请让我知道是否有办法!

不幸的是, read_namespaced_job不允许使用名称模式过滤作业。

有具有field_selector参数的list_namespaced_job 但是field_selector支持有限的运算符列表:

您可以将=,==和!=运算符与字段选择器一起使用(=和==表示同一意思)。

因此,如果您想将正则表达式过滤器应用于作业列表,建议您获取完整列表,然后使用Python regex对其进行过滤

kubectl describe jobs (它描述默认名称空间中的所有作业),而不是返回作业数。

因此,正如Yasen所述,请使用带有namespace参数的list_namespaced_job ,它会给api请求,例如kubectl get --raw=/apis/batch/v1/namespaces/{namespace}/jobs

您还可以修改脚本并获得一些特定的值。 请运行kubectl get or describe --v=8以获取严格的api请求。 请参考Kubectl输出的详细程度和调试

希望这个帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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