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
0
360
Argo Workflowsのバージョンアップで困った話
三森弘満
September 25, 2024
Tweet
Share
Featured
See All Featured
How to make the Groovebox
asonas
2
2.1k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
510
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
130
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
160
The Cult of Friendly URLs
andyhume
79
6.8k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
300
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
The SEO identity crisis: Don't let AI make you average
varn
0
430
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.5k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.9k
Accessibility Awareness
sabderemane
0
87
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
生きるに、遊びを。