Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Argo Workflowsのバージョンアップで困った話
Search
三森弘満
September 25, 2024
440
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Argo Workflowsのバージョンアップで困った話
三森弘満
September 25, 2024
Featured
See All Featured
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
730
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Designing for Performance
lara
612
70k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
400
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
570
The Pragmatic Product Professional
lauravandoore
37
7.5k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
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
生きるに、遊びを。