はじめに
workflow-controllerのダウンとCronWorkflowのスケジュール実行が重なった場合にスケジューリングされているworkflowが実行されるか動作検証する。
検証方法
CronWorkflowのスケジュール実行直前にworkflow-controllerのpodをdeleteした場合に、スケジューリングされているworkflowが実行されるかを検証する。
CronWorkflowは、1分周期でスケジュール実行する設定とする。また、CronWorkflowのstartingDeadlineSecondsの設定ごとの動作を確認するため、以下3パターンの設定で動作検証する。
項目 | startingDeadlineSecondsの設定 |
---|---|
設定① | 設定無し |
設定② | 5秒を指定 |
設定③ | 30秒を指定 |
スケジュール実行の10秒前にworkflow-controllerを削除するために、X分00秒に'''$ sleep 50 && kubectl delete pod workflow-controller-xxxxx'''を実行し、X+1分00秒にworkflowが実行されるか確認する。
検証結果
検証結果を下表に示す。startingDeadlineSecondsを設定しstartingDeadlineSecondsの設定時間内にworkflow-controllerが復旧動作する場合、スケジューリングされていたworkflowが遅れて実行される事を確認した。
項目 | 検証結果 |
---|---|
設定① | workflowは実行されない |
設定② | workflowは実行されない |
設定③ | workflowは15秒程度遅れて実行される |