Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Canary Release with Argo Rollouts #ふくばねてす / can...

Canary Release with Argo Rollouts #ふくばねてす / canary-release-with-argo-rollouts

Manabu Matsuzaki

January 17, 2020
Tweet

More Decks by Manabu Matsuzaki

Other Decks in Programming

Transcript

  1. Self Introduction • Nameɿ Manabu Matsuzaki • Work atɿ LINE

    Fukuoka Corporation • Roleɿ SRE • Twitterɿ @matsumana
  2. Agenda • What is Canary Release? • Introduce to CI/CD

    • CI/CD with GitOps • Canary Release with Argo Rollouts
  3. From `The Site Reliability Workbook` • Chapter 16 - Canarying

    Releases
 https://landing.google.com/sre/workbook/chapters/canarying- releases/ • શମʹҰ౓ʹσϓϩΠ͢Δࣄ͸ɺΤϥʔόδΣοτΛૣ͘ݮΒ͢Ϧ εΫ͕͋Δ • ࣮ࡍͷτϥϑΟοΫͷҰ෦͚ͩΛ৽όʔδϣϯʹެ։͢Δ • มߋ͕࣮ࡍͷτϥϑΟοΫʹ͞Β͞ΕΔͨΊɺϢχοτςετ΍ෛ ՙςετͳͲͰ͸ݟ͚ͭΒΕͳ͍໰୊ΛಛఆͰ͖Δ
  4. ϦϦʔεͷࣗಈԽ • The Site Reliability Workbook - Chapter 16 -

    Canarying Releases
 https://landing.google.com/sre/workbook/chapters/canarying- releases/ • ϦϦʔε͕ࣗಈԽ͞ΕΔͱɺΑΓසൟʹϦϦʔεͰ͖Δ • ϦϦʔε੒Ռ෺ʹόϯυϧ͞ΕΔมߋ͕গͳ͘ͳΓɺόά͕ൃੜ͠ ͨ৔߹ʹΑΓૣ͘؆୯ʹϩʔϧόοΫͰ͖ΔΑ͏ʹͳΔ • ૣ͍ϦϦʔεαΠΫϧʹΑΓɺ৽͍͠ػೳΛૣ͘Ϣʔβʔʹಧ͚Δ
  5. ϦϦʔεͷࣗಈԽ • The Site Reliability Workbook - Chapter 16 -

    Canarying Releases
 https://landing.google.com/sre/workbook/chapters/canarying- releases/
  6. Guide To GitOps • Guide To GitOps
 https://www.weave.works/technologies/gitops/ • ࣗಈԽʹΑΔੜ࢈ੑͷ޲্

    • GitʹΑΔ҆ఆͨ͠࠶ݱՄೳͳϩʔϧόοΫ • GitʹΑΔηΩϡϦςΟ/มߋ௥੻ • ؂ࠪ޲͚ͷϩάʢ୭͕ɺ͍ͭɺԿΛมߋ͔ͨ͠ɺetc…ʣ • ϝϧτμ΢ϯ࣌ɺGit repo(single source of truth)Λݩʹ୹͍࣌ؒͰ෮چՄೳ • etc…
  7. Argo Rollouts • Argo Rollouts - Overview
 https://argoproj.github.io/argo-rollouts/ • ඪ४ͷDeploymentsϦιʔεʹ͸RollingUpdate΍Recreateͱ͍͏σ

    ϓϩΠઓུ͕ఏڙ͞Ε͍ͯ·͕͢ɺArgo Rollouts͸Rolloutͱݺ͹Ε ΔΧελϜϦιʔεʹΑͬͯɺk8sʹBlue Green΍CanaryͳͲͷ௥ ՃͷσϓϩΠઓུΛఏڙ͠·͢ • Still alpha…
  8. Argo Rollouts’ features • Traffic management • ύʔηϯςʔδࢦఆʹΑΔCanary΁ͷτϥϑΟοΫྲྀྔ੍ޚ • ϔομʔϕʔεͷτϥϑΟοΫ੍ޚ

    • τϥϑΟοΫΛϛϥʔϦϯά͠ɺCanaryʹฒߦͯ͠ྲྀ͢
 ʢϨεϙϯε͸ແࢹ͞ΕΔʣ • BlueGreen • etc…
  9. Argo Rollouts’ features • Canary • ৽όʔδϣϯͷϝτϦΫεʹج͍ͮͯࣗಈPromote • APIͷΤϥʔׂ߹ɺΤϥʔϩάͷྔɺetc… •

    KayentaͬΆ͍ • GoogleͱNetflixɺΧφϦΞϦϦʔε෼ੳπʔϧʮKayentaʯΦʔϓϯ ιʔεͰެ։ɻ৽ͨʹσϓϩΠͨ͠ϦϦʔεʹ໰୊͕ͳ͍͔Λࣗಈ෼ ੳ
 https://www.publickey1.jp/blog/18/googlenetflixkayenta.html