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-rolloutsにコミットした話
Search
TAKAyukiatkwsk
April 19, 2025
Programming
0
67
argo-rolloutsにコミットした話
Kanazawa.rb meetup #152 でLTしたときの資料です。
TAKAyukiatkwsk
April 19, 2025
Tweet
Share
More Decks by TAKAyukiatkwsk
See All by TAKAyukiatkwsk
「技術職として歩んできた私がチーム運営を考える上で出会った2冊の本」の補足ともう1冊
takayukiatkwsk
0
25
Claude Codeと共に構成図を作る
takayukiatkwsk
0
130
EnvoyのWasm filterを体験する
takayukiatkwsk
0
56
自分用趣味アプリを作っている話
takayukiatkwsk
0
140
zoxideのご紹介
takayukiatkwsk
0
110
Kanazawa.rbに参加してからのふりかえり
takayukiatkwsk
0
60
git-secretsとgitフックをざっと理解する
takayukiatkwsk
0
370
計測プラットフォームSREチームとシステム障害対応 / measurement platform SRE team's incident response
takayukiatkwsk
0
1.2k
Flutterに入門して体重グラフアプリを作る / Get started Flutter and build a weight graph app
takayukiatkwsk
0
450
Other Decks in Programming
See All in Programming
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
4
690
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
330
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
2.4k
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
390
ゆくKotlin くるRust
exoego
1
200
AIエージェントの設計で注意するべきポイント6選
har1101
6
3k
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
220
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
180
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
650
CSC307 Lecture 04
javiergs
PRO
0
630
JETLS.jl ─ A New Language Server for Julia
abap34
2
470
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
180
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.1k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
120
Crafting Experiences
bethany
0
28
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
110
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
67
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
130
We Are The Robots
honzajavorek
0
130
Mobile First: as difficult as doing things right
swwweet
225
10k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Designing Powerful Visuals for Engaging Learning
tmiket
0
200
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
Transcript
argo-rolloutsに コミットした話 2025-04-19 Kanazawa.rb meetup #152 Takayuki Takagi
自己紹介 • Takayuki Takagi (髙木貴之 / ニボシーニョ) • @TAKAyuki_atkwsk /
takayukiatkwsk • SRE @ ZOZO • AWS, Kubernetes, Scala, Ruby, Go, etc. • ビール、餃子、サッカー観戦が好き 2
今日の話 • argo-rolloutsというOSSにコミットした ◦ 些細な修正 • バグの発見・調査・対応の流れについて話す
argo-rolloutsについて • Kubernetesにおいて安全かつ段階的にソフトウェアをリリースす るための仕組み(コントローラー) ◦ blue-green ◦ カナリアリリース ◦ ロールアウトスピードの調整
◦ メトリクスによる続行・ロールバックの自動判断 ◦ トラフィックの重み付け (ちなみに)Kubernetes自体にもローリングアップデートを実現する仕組みはある
argo-rolloutsとの関わり • 弊チームで受け持つサービス基盤に導入済み • 導入事例についてはチームメンバーが書いた技術ブログを読んでみてくだ さい #PR ◦ Argo Rolloutsを導入してカナリアリリースを実現する
◦ https://techblog.zozo.com/entry/argo-rollouts-canary-release
簡単に説明 api:v2 api:v1 api:v2 api:v2 Datadog LB メトリクス api:v2 api:v1
api:v1 api:v1 argo- rollouts step • 25% • 50% • 100% 集計された メトリクスを取得
簡単に説明 api:v1 api:v2 api:v1 api:v2 api:v2 Datadog LB メトリクス api:v2
api:v1 api:v1 argo- rollouts step • 25% • 50% • 100% 集計された メトリクスを取得 v2でエ ラー多発
バグらしきものを見つけた • argo-rollouts v1.8.0に更新 • ロールアウトが失敗するようになった ◦ 設定は変えていない • Datadog
APIのクレデンシャルが見つけられない旨のエラーメッ セージが出力される • v1.7.xでは再現せず • バグかもしれないと疑い始める
調査 • Issueを探す ◦ 同様の事象はヒットせず • ソースコードを読む ◦ クレデンシャルを参照する処理がv1.8.0で変更されているのを発見 ◦
自分なりに原因箇所を特定 ▪ 設定関連(Secret)が怪しい • さてこの後どうするか?
対応 • 導入済みの環境について ◦ 明示的に設定項目を追加するという回避策はある ◦ が、設定方法の関係で少し冗長になる • バグを直す ◦
原因と思われる箇所を特定したので何とか直せそう ◦ 念のため詳しい人の意見も聞いておきたい • 対応方針を決めた ◦ 暫定的に設定を変えてargo-rolloutsのバージョンを上げて運用する ◦ Issueを出して適切な方策を探る
補足)原因箇所 • Datadogの設定をSecretリソースとして定義する ◦ APIに接続するための設定 • Secretを読んだあと、required設定がなされているかのチェック ◦ ここでaddressもチェックされていて、クレデンシャルが見つからな いよというエラーになっていたと考えられる
required required optional
Issue作成 • Issue作成時に目的を聞かれる • テンプレートに沿って記入 ◦ この時点では原因と思われることは記 入せず様子見 https://github.com/argoproj/argo-rollouts/issues/4103
Issueにて • コミッターからアドバイスを頂く(当日中!) • 私からの返信 ◦ アドバイスを試してみたものの挙動が変わらないことの報告 ◦ 原因と思われる箇所についてどう思うか? •
他のコミッターからのコメント ◦ 原因それやね ◦ 君が見つけたのならPull request出してみたら?と提案受ける • Pull requestを作成する流れに
Pull request作成 • 作成前にCONTRIBUTING.mdを読む • 該当箇所の修正 + ユニットテストの追加 • Pull
request作成 ◦ テンプレート内にチェックリストがあるので対応する
https://github.com/argoproj/argo-rollouts/pull/4145
まとめ • 無事にマージされ、v1.8.1としてリ リースされた • 手続きに沿いながら解決できてよ かった • 初のコミットだったものの、コミッ ターからアドバイス等いただけて安
心した