Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Canary Release with Argo Rollouts #ふくばねてす / can...
Search
Manabu Matsuzaki
January 17, 2020
Programming
1.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Canary Release with Argo Rollouts #ふくばねてす / canary-release-with-argo-rollouts
#ふくばねてす node-3
https://fukubernetes.connpass.com/event/159429/
Manabu Matsuzaki
January 17, 2020
More Decks by Manabu Matsuzaki
See All by Manabu Matsuzaki
Spring BootユーザのためのArmeria入門 #jsug / Introduce to Armeria for Spring users
matsumana
0
3k
Getting started Central Dogma with Golang #fukuokago #umedago / getting-started-central-dogma-with-golang
matsumana
0
970
Micrometer入門 #javaq / introduce-to-micrometer
matsumana
1
3k
ArmeriaとCentral Dogmaから学ぶ、マイクロサービスに必要な機能 #edayfuk / lean-from-armeria-and-central-dogma
matsumana
0
4.7k
SREcon19 Americas 参加レポート #srefukuoka / srecon19-americas-report
matsumana
0
940
SRE入門 & チームで取り組んでいるSRE #srefukuoka / introduce-to-sre
matsumana
0
1.4k
Introduce to Armeria and Central Dogma #GWD_Nulab / introduce-to-armeria-and-central-dogma
matsumana
0
620
Connector/JでMaster/Slave Replication構成のMySQLに接続する #mysql_casual_fukuoka /connector-j-master-slave-replication
matsumana
0
1.6k
ユーザ目線でのPrometheus #mackerel_ug /monitoring-prometheus
matsumana
1
3.9k
Other Decks in Programming
See All in Programming
Swift愛好会100回記念 第1回を振り返る
jollyjoester
0
120
20260828_品質と開発生産性を両立させる、AI時代のE2Eテストの考え方
magicpod
0
190
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
170
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
230
自分的「カンファレンスの楽しみ方」
syumai
0
200
App Intentsのビルドプロセスを支える技術
kntkymt
0
220
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
160
ハーネス設計入門 〜プロンプト、コンテキストの次〜
kinopeee
56
37k
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
230
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
380
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
520
Foundry Localでエージェント開発
seosoft
0
170
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The SEO Collaboration Effect
kristinabergwall1
1
550
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
690
HDC tutorial
michielstock
2
860
The Cult of Friendly URLs
andyhume
79
7k
BBQ
matthewcrist
89
10k
Mind Mapping
helmedeiros
1
350
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
250
Evolving SEO for Evolving Search Engines
ryanjones
0
280
Done Done
chrislema
186
16k
Six Lessons from altMBA
skipperchong
29
4.5k
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 :)