簡體   English   中英

如何使用 kubectl 命令以秒為單位獲取 argo 工作流年齡

[英]How to get the argo workflow age in seconds using kubectl command

有沒有辦法使用kubectl命令在幾秒鍾內獲取特定的 argo 工作流年齡?

我需要比較 argo 工作流程的年齡。 如果工作流年齡大於 24 小時,我需要終止工作流。

您可能應該使用Argo Workflow 的內置聲明式超時功能

spec:
  activeDeadlineSeconds: 86400

如果需要超過 24 小時,這將使工作流程失敗。 要實際刪除工作流,請設置TTL 策略

ttlStrategy:
  secondsAfterCompletion: 60

成本優化文檔還有一些其他說明,這些說明在設計清理策略時會有所幫助。

我永遠無法抗拒一個好的jq挑戰,所以這里有一個基於腳本的替代方案:

WORKFLOW_NAME=something

if kubectl get wf -n argo "$WORKFLOW_NAME" -ojson | jq --exit-status 'now - (.metadata.creationTimestamp | fromdateiso8601) > (24*60*60)'; then
  kubectl delete wf -n argo "$WORKFLOW_NAME"
fi

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM