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
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
900
CI改善もDatadogとともに
taumu
0
200
Datadog Workflow Automation で圧倒的価値提供
showwin
1
230
推しメソッドsource_locationのしくみを探る - はじめてRubyのコードを読んでみた
nobu09
2
330
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
160
はじめての Go * WASM *OCR
sgash708
1
110
2025.2.14_Developers Summit 2025_登壇資料
0101unite
0
200
SwiftUI移行のためのインプレッショントラッキング基盤の構築
kokihirokawa
0
150
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
1.2k
Django NinjaによるAPI開発の効率化とリプレースの実践
kashewnuts
1
280
「個人開発マネタイズ大全」が教えてくれたこと
bani24884
1
240
データベースのオペレーターであるCloudNativePGがStatefulSetを使わない理由に迫る
nnaka2992
0
240
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
BBQ
matthewcrist
87
9.5k
Designing Experiences People Love
moore
140
23k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Rails Girls Zürich Keynote
gr2m
94
13k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
The Language of Interfaces
destraynor
156
24k
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 :)