Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Canary Release with Argo Rollouts #ふくばねてす / can...
Search
Manabu Matsuzaki
January 17, 2020
Programming
1
1.2k
Canary Release with Argo Rollouts #ふくばねてす / canary-release-with-argo-rollouts
#ふくばねてす node-3
https://fukubernetes.connpass.com/event/159429/
Manabu Matsuzaki
January 17, 2020
Tweet
Share
More Decks by Manabu Matsuzaki
See All by Manabu Matsuzaki
Spring BootユーザのためのArmeria入門 #jsug / Introduce to Armeria for Spring users
matsumana
0
2.9k
Getting started Central Dogma with Golang #fukuokago #umedago / getting-started-central-dogma-with-golang
matsumana
0
910
Micrometer入門 #javaq / introduce-to-micrometer
matsumana
1
3k
ArmeriaとCentral Dogmaから学ぶ、マイクロサービスに必要な機能 #edayfuk / lean-from-armeria-and-central-dogma
matsumana
0
4.5k
SREcon19 Americas 参加レポート #srefukuoka / srecon19-americas-report
matsumana
0
900
SRE入門 & チームで取り組んでいるSRE #srefukuoka / introduce-to-sre
matsumana
0
1.3k
Introduce to Armeria and Central Dogma #GWD_Nulab / introduce-to-armeria-and-central-dogma
matsumana
0
570
Connector/JでMaster/Slave Replication構成のMySQLに接続する #mysql_casual_fukuoka /connector-j-master-slave-replication
matsumana
0
1.5k
ユーザ目線でのPrometheus #mackerel_ug /monitoring-prometheus
matsumana
1
3.7k
Other Decks in Programming
See All in Programming
SwiftUIで本格音ゲー実装してみた
hypebeans
0
110
まだ間に合う!Claude Code元年をふりかえる
nogu66
3
430
connect-python: convenient protobuf RPC for Python
anuraaga
0
380
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
320
ゲームの物理 剛体編
fadis
0
320
sbt 2
xuwei_k
0
260
生成AIを利用するだけでなく、投資できる組織へ
pospome
0
240
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
490
AIコーディングエージェント(skywork)
kondai24
0
150
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
1
700
CSC509 Lecture 14
javiergs
PRO
0
220
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
170
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Building Flexible Design Systems
yeseniaperezcruz
330
39k
Embracing the Ebb and Flow
colly
88
4.9k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Agile that works and the tools we love
rasmusluckow
331
21k
KATA
mclloyd
PRO
32
15k
Side Projects
sachag
455
43k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
It's Worth the Effort
3n
187
29k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.7k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
93
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Transcript
Canary Release with Argo Rollouts ;͘Ͷͯ͢ node-3 2020/01/15 @matsumana
Self Introduction • Nameɿ Manabu Matsuzaki • Work atɿ LINE
Fukuoka Corporation • Roleɿ SRE • Twitterɿ @matsumana
Agenda • What is Canary Release? • Introduce to CI/CD
• CI/CD with GitOps • Canary Release with Argo Rollouts
What is Canary Release?
From `The Site Reliability Workbook` • Chapter 16 - Canarying
Releases https://landing.google.com/sre/workbook/chapters/canarying- releases/ • શମʹҰʹσϓϩΠ͢ΔࣄɺΤϥʔόδΣοτΛૣ͘ݮΒ͢Ϧ εΫ͕͋Δ • ࣮ࡍͷτϥϑΟοΫͷҰ෦͚ͩΛ৽όʔδϣϯʹެ։͢Δ • มߋ͕࣮ࡍͷτϥϑΟοΫʹ͞Β͞ΕΔͨΊɺϢχοτςετෛ ՙςετͳͲͰݟ͚ͭΒΕͳ͍ΛಛఆͰ͖Δ
Introduce to CI/CD
ϦϦʔεͷࣗಈԽ • The Site Reliability Workbook - Chapter 16 -
Canarying Releases https://landing.google.com/sre/workbook/chapters/canarying- releases/ • ϦϦʔε͕ࣗಈԽ͞ΕΔͱɺΑΓසൟʹϦϦʔεͰ͖Δ • ϦϦʔεՌʹόϯυϧ͞ΕΔมߋ͕গͳ͘ͳΓɺόά͕ൃੜ͠ ͨ߹ʹΑΓૣ͘؆୯ʹϩʔϧόοΫͰ͖ΔΑ͏ʹͳΔ • ૣ͍ϦϦʔεαΠΫϧʹΑΓɺ৽͍͠ػೳΛૣ͘Ϣʔβʔʹಧ͚Δ
ϦϦʔεͷࣗಈԽ • The Site Reliability Workbook - Chapter 16 -
Canarying Releases https://landing.google.com/sre/workbook/chapters/canarying- releases/
CI/CD with GitOps
Guide To GitOps • Guide To GitOps https://www.weave.works/technologies/gitops/ • ࣗಈԽʹΑΔੜ࢈ੑͷ্
• GitʹΑΔ҆ఆͨ͠࠶ݱՄೳͳϩʔϧόοΫ • GitʹΑΔηΩϡϦςΟ/มߋ • ͚ࠪͷϩάʢ୭͕ɺ͍ͭɺԿΛมߋ͔ͨ͠ɺetc…ʣ • ϝϧτμϯ࣌ɺGit repo(single source of truth)Λݩʹ͍࣌ؒͰ෮چՄೳ • etc…
Guide To GitOps • Guide To GitOps https://www.weave.works/technologies/gitops/
Canary Release with Argo Rollouts
Argo Rollouts • Argo Rollouts - Overview https://argoproj.github.io/argo-rollouts/ • ඪ४ͷDeploymentsϦιʔεʹRollingUpdateRecreateͱ͍͏σ
ϓϩΠઓུ͕ఏڙ͞Ε͍ͯ·͕͢ɺArgo RolloutsRolloutͱݺΕ ΔΧελϜϦιʔεʹΑͬͯɺk8sʹBlue GreenCanaryͳͲͷ ՃͷσϓϩΠઓུΛఏڙ͠·͢ • Still alpha…
Argo Rollouts’ features • Canary • ίϚϯυʹΑΔखಈPromote • Ұఆ࣌ؒͬͯࣗಈPromote
Argo Rollouts’ features • Traffic management • ύʔηϯςʔδࢦఆʹΑΔCanaryͷτϥϑΟοΫྲྀྔ੍ޚ • ϔομʔϕʔεͷτϥϑΟοΫ੍ޚ
• τϥϑΟοΫΛϛϥʔϦϯά͠ɺCanaryʹฒߦͯ͠ྲྀ͢ ʢϨεϙϯεແࢹ͞ΕΔʣ • BlueGreen • etc…
Argo Rollouts’ features • Canary • ৽όʔδϣϯͷϝτϦΫεʹج͍ͮͯࣗಈPromote • APIͷΤϥʔׂ߹ɺΤϥʔϩάͷྔɺetc… •
KayentaͬΆ͍ • GoogleͱNetflixɺΧφϦΞϦϦʔεੳπʔϧʮKayentaʯΦʔϓϯ ιʔεͰެ։ɻ৽ͨʹσϓϩΠͨ͠ϦϦʔεʹ͕ͳ͍͔Λࣗಈ ੳ https://www.publickey1.jp/blog/18/googlenetflixkayenta.html
manifest fileʢྫʣ • https://argoproj.github.io/argo-rollouts/features/canary/ • https://argoproj.github.io/argo-rollouts/features/analysis/ • https://gist.github.com/matsumana/0f04c9c8afdccccecb71ad4aaad796d9
Argo CD + Argo Rollouts Ͱ࣮ݱ͢Δ Canary Release with GitOps
Λߟ͑ͯΈΔ
શମߏʢྫʣ
Thank you :)