tri*_*999 3 kubernetes kubernetes-health-check
我有kubernetes作业,需要花费大量时间才能完成。在4至8分钟之间。我有什么办法可以知道什么时候完成工作,而不是假设最坏的情况下要等8分钟。我有一个执行以下操作的测试用例:
1) Submits the kubernetes job.
2) Waits for its completion.
3) Checks whether the job has had the expected affect.
Run Code Online (Sandbox Code Playgroud)
问题是,在我的Java测试中,它在kubernetes中提交了部署作业,即使该作业花费的时间少于完成该作业的时间,我仍要等待8分钟,因为我没有办法从Java监视作业的状态测试。
Voj*_*tek 10
$ kubectl wait --for=condition=complete --timeout=600s job/myjob
Run Code Online (Sandbox Code Playgroud)
<kube master>/apis/batch/v1/namespaces/default/jobs
Run Code Online (Sandbox Code Playgroud)
端点列出了作业的状态。我已经解析了这个json并检索了以“ deploy ...”开头的最新运行作业的名称。
然后我们可以打
<kube master>/apis/batch/v1/namespaces/default/jobs/<job name retrieved above>
Run Code Online (Sandbox Code Playgroud)
并在作业成功时监视以下状态字段值
"status": {
"conditions": [
{
"type": "Complete",
"status": "True",
"lastProbeTime": "2016-09-22T13:59:03Z",
"lastTransitionTime": "2016-09-22T13:59:03Z"
}
],
"startTime": "2016-09-22T13:56:42Z",
"completionTime": "2016-09-22T13:59:03Z",
"succeeded": 1
}
Run Code Online (Sandbox Code Playgroud)
因此,我们一直在轮询该端点,直到完成为止。希望这对某人有帮助。
归档时间: |
|
查看次数: |
8494 次 |
最近记录: |