rus*_*sst 39 kubernetes kubectl kubernetes-jobs
我正在寻找一种方法来告诉(从脚本中)Kubernetes Job完成的时间.我想从容器中取出日志并执行清理.
这样做有什么好办法?最好的方法是运行kubectl describe job <job_name>
和grep 1 Succeeded
或类似的东西?
aba*_*haw 70
你现在可以这样做:
kubectl wait --for=condition=complete job/myjob
Run Code Online (Sandbox Code Playgroud)
你也可以设置超时:
kubectl wait --for=condition=complete --timeout=30s job/myjob
Run Code Online (Sandbox Code Playgroud)
Eri*_*une 22
您可以使用此命令直观地查看作业的状态:
kubectl get jobs myjob -w
Run Code Online (Sandbox Code Playgroud)
该-w
选项监视更改.您正在寻找SUCCESSFUL
要显示的列1
.
要在shell脚本中等待,我将使用此命令:
until kubectl get jobs myjob -o jsonpath='{.status.conditions[?
(@.type=="Complete")].status}' | grep True ; do sleep 1 ; done
Run Code Online (Sandbox Code Playgroud)
小智 6
您可以使用官方Python kubernetes-client
.
https://github.com/kubernetes-client/python
创建新的 Python virtualenv:
virtualenv -p python3 kubernetes_venv
激活它
source kubernetes_venv/bin/activate
并使用以下命令安装 kubernetes 客户端:
pip install kubernetes
创建新的 Python 脚本并运行:
from kubernetes import client, config
config.load_kube_config()
v1 = client.BatchV1Api()
ret = v1.list_namespaced_job(namespace='<YOUR-JOB-NAMESPACE>', watch=False)
for i in ret.items:
print(i.status.succeeded)
Run Code Online (Sandbox Code Playgroud)
请记住为您的作业命名空间设置您的特定kubeconfig
in~/.kube/config
和有效值 ->'<YOUR-JOB-NAMESPACE>'
归档时间: |
|
查看次数: |
14921 次 |
最近记录: |