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
Canary Release with Argo Rollouts #ふくばねてす / can...
Search
Manabu Matsuzaki
January 17, 2020
Programming
1
1.1k
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.7k
Getting started Central Dogma with Golang #fukuokago #umedago / getting-started-central-dogma-with-golang
matsumana
0
870
Micrometer入門 #javaq / introduce-to-micrometer
matsumana
1
2.8k
ArmeriaとCentral Dogmaから学ぶ、マイクロサービスに必要な機能 #edayfuk / lean-from-armeria-and-central-dogma
matsumana
0
4.2k
SREcon19 Americas 参加レポート #srefukuoka / srecon19-americas-report
matsumana
0
850
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
550
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.5k
Other Decks in Programming
See All in Programming
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
37
14k
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
120
Linux && Docker 研修/Linux && Docker training
forrep
24
4.5k
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
250
SpringBoot3.4の構造化ログ #kanjava
irof
2
990
定理証明プラットフォーム lapisla.net
abap34
1
1.8k
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
8
1.8k
Amazon S3 TablesとAmazon S3 Metadataを触ってみた / 20250201-jawsug-tochigi-s3tables-s3metadata
kasacchiful
0
160
『GO』アプリ バックエンドサーバのコスト削減
mot_techtalk
0
140
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
0
130
2024年のkintone API振り返りと2025年 / kintone API look back in 2024
tasshi
0
220
Pulsar2 を雰囲気で使ってみよう
anoken
0
240
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
67
4.6k
A designer walks into a library…
pauljervisheath
205
24k
Gamification - CAS2011
davidbonilla
80
5.1k
Into the Great Unknown - MozCon
thekraken
35
1.6k
The Pragmatic Product Professional
lauravandoore
32
6.4k
GitHub's CSS Performance
jonrohan
1030
460k
Become a Pro
speakerdeck
PRO
26
5.1k
Producing Creativity
orderedlist
PRO
344
39k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
4 Signs Your Business is Dying
shpigford
182
22k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
How STYLIGHT went responsive
nonsquared
98
5.4k
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 :)