cronworkflowを用いたバッチ障害時の運用改善氏名: 南條綾乃2023/03/13 Kubernetes Novice Tokyo #23
View Slide
自己紹介名前: 南條綾乃会社: 株式会社NTTデータ(2021年入社)業務: バックエンド開発実家で飼っている柴犬と亀
バッチの良い運用設計とは?
良い運用設計とは回復性可観測性管理力処理の進行状態を把握できるか処理の完了状態を把握できるか障害を検知し適切な行動を選択できるか容易に再実行が可能か参考: https://www.yamarkz.com/blog/implementation-practices-for-batch-processingCNCF Cloud Native Definition v1.0より項目抜粋実行コストが少ないか
しかし、これまでは...回復性可観測性管理力処理の進行状態を把握できるか処理の完了状態を把握できるか障害を検知し適切な行動を選択できるか容易に再実行が可能か参考: https://www.yamarkz.com/blog/implementation-practices-for-batch-processingCNCF Cloud Native Definition v1.0より項目抜粋実行コストが少ないかAPを修正してから実行手動で再実行手動で再実行
cronworkflowを用いて"バッチの良い運用設計"を目指したので、その取り組みについてLTさせていただきます!
cronworkflowって何?
cronworkflowとはKubernetes上で実行されることを想定したワークフローエンジンである、argo workflowの一種KubernetesのCRD(Custom Resource Definition)として実行cronjobと同じ設定を使用し実行可能
何を実施したの?
実施したこと・障害時に動かす処理をコマンドライン引数で管理・障害時にバッチを自動実行
実施したこと
というのも..これまでの障害時の運用・手動でバッチを再度実行・障害時用のバッチのイメージを読み込み直して再デプロイ
管理コストが少ないかこれまでの問題の解決回復性可観測性管理力処理の進行状態を把握できるか処理の完了状態を把握できるか障害を検知し適切な行動を選択できるか容易に再実行が可能か参考: https://www.yamarkz.com/blog/implementation-practices-for-batch-processingCNCF Cloud Native Definition v1.0より項目抜粋APを修正しない仕組み自動で再実行手動で再実行
以下のようなイメージ障害時に障害用のバッチを自動で実行させる障害時別のAP
マニフェストファイルどんなん?
設定の全容
障害発生時通常時helmfileで設定時は、コメントアウトのように記載
コマンドライン引数での処理の管理って?
コマンドライン引数での処理の管理execを定義(defaultは空)ここで、モードにより呼び出したいメソッドを変える
ここまでで回復性、管理力は解決!
実行コストが少ないかでは..回復性可観測性管理力処理の進行状態を把握できるか処理の完了状態を把握できるか障害を検知し適切な行動を選択できるか容易に再実行が可能か参考: https://www.yamarkz.com/blog/implementation-practices-for-batch-processingCNCF Cloud Native Definition v1.0より項目抜粋APを修正しない仕組み自動で再実行手動で再実行
可観測性はどうやって解決してるの?
Healthchecksで解決!
Healthchecksとはジョブの「起動状態」を監視するサービス※実行状態は監視しない(AP内部でエラーetc)予定していた時刻にジョブが正常起動したかジョブの想定実行時間よりも実行時間が長くなっていないか
運用イメージworkflow開始時にStarted終了したらOKが届くメールやチャット、PagerDutyとの連携も可能
どうやって使うの?
heathchecksとの疎通方法runitorコマンドを使用払い出したuuidを設定-execで実行するmodeを設定
デモします!
デモ①通常実行②通常実行→障害発生→障害時のAP実行
デモ
実行コストが少ないかまとめ回復性可観測性管理力処理の進行状態を把握できるか処理の完了状態を把握できるか障害を検知し適切な行動を選択できるか容易に再実行が可能か参考: https://www.yamarkz.com/blog/implementation-practices-for-batch-processingCNCF Cloud Native Definition v1.0より項目抜粋APを修正しない仕組み自動で再実行
ご静聴ありがとうございました!
リマインド機能について企業 エンドユーザーリンクを発行リンクで登録などを実施リンクの期限1日前にリマインドメール参考:
詳細リマインド対象のリンクをDBから取得該当するリンク所有者に1件ずつメールを送信参考: