Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Argo Workflowsのバージョンアップで困った話
Search
三森弘満
September 25, 2024
380
0
Share
Argo Workflowsのバージョンアップで困った話
三森弘満
September 25, 2024
Featured
See All Featured
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
So, you think you're a good person
axbom
PRO
2
2k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
340
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
140
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
260
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
250
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.5k
Transcript
アソビュー株式会社 Argo Workflowsのバージョンアップで困った話
© ASOVIEW Inc. 2 自己紹介 名前:三森 弘満 部署:プロダクト本部 技術戦略部 サービス SREチーム 業務:自社サービス基盤のインフラ運用、改善など
休日の過ごし方:山登り、トレイルランニング
© ASOVIEW Inc. 3 アソビューについて
© ASOVIEW Inc. 4 アソビューについて
© ASOVIEW Inc. 5 アソビューのシステムアーキテクチャ 出典 アソビューのシステムアーキテクチャ
© ASOVIEW Inc. 6 本題です
© ASOVIEW Inc. 7 Argo Workflow 使ってますか?
© ASOVIEW Inc. 8 Argo Workflowについて • Kubernetesネイティブなワークフローエンジン •
コンテナ化されたジョブアプリケーションを実行する • yamlファイルでテンプレートを書いて管理する
© ASOVIEW Inc. 9 今回は、Argo Workflowで詰まった話をお届けします。
© ASOVIEW Inc. 10 はじまり バージョンアップしようとしたら... ArgoWorkflowを3.5.6へバージョンアップしたら、実行済みジョブ (以下、アーカイブ)をマネジメントコン ソール上でリストされるのですが、想定通り表示されませんでした。
このバージョンから、それまでアーカイブと実行中のジョブが分けて表示されていたものが、一つの画面 で表示されるようになるUIのアップデートが入っていました。 上記のアップデートがあり、なおかつアーカイブが多すぎて、アーカイブをリストする SQLがデータベース のメモリを多く利用していることが今回のバージョンアップで明らかになりました。 このように、Argo Workflowsの製品特性をあまり把握しないまま利用したため、運用上困ることが出て きてしまいました。
© ASOVIEW Inc. 11 当時の弊社のArgo Workflowの状況 • Argo Workflow を導入して以来、アーカイブが溜まっていた。
• アーカイブが200万行ほどになっており、アーカイブをリストする SQLがDBに負荷をかけていた。 • ジョブの中には、数分おきに実行されるものがいくつかあった。( 1分毎、10分毎) • この数分おきに実行されるジョブのアーカイブがネックになっていそうだった。 => 全てのアーカイブを消すのは、運用上好ましくないため、一部のアーカイブを残さないようにでき ないか検討をしたところ、archiveLabelSelectorを使えばできそうなことがわかった。
© ASOVIEW Inc. 12 archiveLabelSelectorについて アーカイブを取得する判定として、 workflow-controller-configmap.yamlに記載したラベルと Workflowに付与されたラベルがマッチすることが判定条件となっております。
仕組みとしてはラベルセレクターを採用しているようです。 今回は、 workflows.argoproj.io/archive-strategy: ”always” のラベルがついたWorkflowのアーカイブを残すようにしました。
© ASOVIEW Inc. 13 CronWorkflowとWorkflowTemplateについて Argo WorkflowsでのWorkflowを管理するyamlがいくつかありますが、今回気にするのは以下の 2 つです。 •
WorkflowTemplate ◦ Workflowのテンプレートです。Workflowで共通に設定したいものをここに書きます。 • CronWorkflow ◦ 上記のWorkflowの設定 + cronの設定になります。cronの設定とは、実行時間やタイム ゾーンなどのcronの実行の制御に関わるものです。 なので、Workflow Templateにラベルをつければ、 残したいアーカイブとそうでないものの判別をしてくれそう!
© ASOVIEW Inc. 14 はまったポイント WorkflowTemplateがWorkflowのテンプレートなのであれば、こちらにだけ記載すれば Workflowに もラベルがつくはずと思っていましたが、実際にはラベルはつきませんでした。(なぜそうなったのかまで は深く掘り下げて調べられてないです。)
ただ、WorkflowTemplateから手動でWorkflowを実行するケースもあるかと思いますので、その場 合 こちらにもラベルをつける必要があります。
© ASOVIEW Inc. 15 アーカイブを残す対応
© ASOVIEW Inc. 16 残したいアーカイブへの対応
© ASOVIEW Inc. 17 残したくないアーカイブへの対応
© ASOVIEW Inc. 18 結論 アーカイブを取得する場合は、どの期間まで保持するかに加えて、 どのアーカイブを保持するかも検討した方がいい。
© ASOVIEW Inc. 19 参考情報 Argo Workflowのアーカイブを一部残さないように設定をした話 ~ archiveLabelSelectorの活用方法
~ https://tech.asoview.co.jp/entry/2024/08/30/090000
生きるに、遊びを。