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
39
argo-rolloutsにコミットした話
Kanazawa.rb meetup #152 でLTしたときの資料です。
TAKAyukiatkwsk
April 19, 2025
Tweet
Share
More Decks by TAKAyukiatkwsk
See All by TAKAyukiatkwsk
EnvoyのWasm filterを体験する
takayukiatkwsk
0
47
自分用趣味アプリを作っている話
takayukiatkwsk
0
100
zoxideのご紹介
takayukiatkwsk
0
96
Kanazawa.rbに参加してからのふりかえり
takayukiatkwsk
0
48
git-secretsとgitフックをざっと理解する
takayukiatkwsk
0
340
計測プラットフォームSREチームとシステム障害対応 / measurement platform SRE team's incident response
takayukiatkwsk
0
1.1k
Flutterに入門して体重グラフアプリを作る / Get started Flutter and build a weight graph app
takayukiatkwsk
0
420
リモートワークを振り返る / Look back on remote-working
takayukiatkwsk
0
130
ブログでのアウトプットが減っている件 / What long intervals my blog posts have!
takayukiatkwsk
0
110
Other Decks in Programming
See All in Programming
Terraform やるなら公式スタイルガイドを読もう 〜重要項目 10選〜
hiyanger
13
3.2k
モバイルアプリからWebへの横展開を加速した話_Claude_Code_実践術.pdf
kazuyasakamoto
0
140
GUI操作LLMの最新動向: UI-TARSと関連論文紹介
kfujikawa
0
990
管你要 trace 什麼、bpftrace 用下去就對了 — COSCUP 2025
shunghsiyu
0
440
ライブ配信サービスの インフラのジレンマ -マルチクラウドに至ったワケ-
mirrativ
1
250
UbieのAIパートナーを支えるコンテキストエンジニアリング実践
syucream
2
620
Flutterと Vibe Coding で個人開発!
hyshu
1
260
AIエージェント開発、DevOps and LLMOps
ymd65536
1
280
DynamoDBは怖くない!〜テーブル設計の勘所とテスト戦略〜
hyamazaki
1
200
[FEConf 2025] 모노레포 절망편, 14개 레포로 부활하기까지 걸린 1년
mmmaxkim
0
370
AI OCR API on Lambdaを Datadogで可視化してみた
nealle
0
140
CEDEC2025 長期運営ゲームをあと10年続けるための0から始める自動テスト ~4000項目を50%自動化し、月1→毎日実行にした3年間~
akatsukigames_tech
0
140
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
It's Worth the Effort
3n
187
28k
The Cult of Friendly URLs
andyhume
79
6.5k
Writing Fast Ruby
sferik
628
62k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Being A Developer After 40
akosma
90
590k
What's in a price? How to price your products and services
michaelherold
246
12k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.4k
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としてリ リースされた • 手続きに沿いながら解決できてよ かった • 初のコミットだったものの、コミッ ターからアドバイス等いただけて安
心した