我想给一个作业名称,查找作业控制器使用 OpenShift 或 Kubernetes REST API 创建的 Pod 的名称。
使用 CLI,可以通过执行以下操作来实现:
$ oc describe job testapi | grep -A 4 Events
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal SuccessfulCreate 6m job-controller Created pod: testapi-gff8c
我们可以使用 REST API 执行相同的操作吗?
我想获取 Pod 名称以获取作业生成的所有 Pod 的日志。
describe 命令聚合多个结果以提供其输出,因此您需要做一些额外的工作。
调用events
端点并使用 jq 等工具解析结果,或者可以通过 grep 部分提取
。下面是一个假设作业名称为testapi
且命名空间myproject
的示例:
curl -H "Authorization: Bearer $(oc whoami -t)" -k https://127.0.0.1:8443/api/v1/namespaces/myproject/events?fieldSelector=involvedObject.name%3Dtestapi%2CinvolvedObject.namespace%3Dmyproject%2CinvolvedObject.kind%3DJob | grep Created