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

Kubernetes Cluster Migration

Kubernetes Cluster Migration

Atsushi Tanaka

March 26, 2020
Tweet

More Decks by Atsushi Tanaka

Other Decks in Programming

Transcript

  1. ©2020 Wantedly, Inc. 3 @bgpat / Atsushi Tanaka Infrastructure Engineer

    at Wantedly, Inc. Kubernetes / Docker / Go / JavaScript / Terraform $ whoami
  2. ©2020 Wantedly, Inc. JOQMBDFVQHSBEF w طଘͷΫϥελΛ
 ͦͷ··࢖͏ w ϊʔυΛॱ൪ʹೖΕସ͑ w

    SPMMJOHVQEBUF 7 ΞοϓάϨʔυํ๏ͷൺֱ DMVTUFSNJHSBUJPO w طଘͷΫϥελ͸࢖Θͣ
 ৽͍͠ΫϥελΛཱͯΔ w ϦιʔεΛ৽Ϋϥελʹίϐʔ w CMVFHSFFOEFQMPZ
  3. ©2020 Wantedly, Inc. ΫϥελΛߏ੒͢ΔϊʔυΛॱ൪ʹೖΕସ͑Δ 8 *OQMBDFVQHSBEF ,VCFSOFUFT$MVTUFS NBTUFSW NBTUFSW NBTUFSW

    OPEFW OPEFW OPEFW 1PE 4FSWJDF $POpH
 .BQ %FQMPZ NFOU *OHSFTT 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE
  4. ©2020 Wantedly, Inc. ΫϥελΛߏ੒͢ΔϊʔυΛॱ൪ʹೖΕସ͑Δ 9 *OQMBDFVQHSBEF ,VCFSOFUFT$MVTUFS NBTUFSW NBTUFSW NBTUFSW

    XPSLFSW XPSLFSW XPSLFSW 4FSWJDF $POpH
 .BQ %FQMPZ NFOU *OHSFTT 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE
  5. ©2020 Wantedly, Inc. ΫϥελΛߏ੒͢ΔϊʔυΛॱ൪ʹೖΕସ͑Δ 10 *OQMBDFVQHSBEF ,VCFSOFUFT$MVTUFS XPSLFSW XPSLFSW XPSLFSW

    NBTUFSW NBTUFSW NBTUFSW 4FSWJDF $POpH
 .BQ %FQMPZ NFOU *OHSFTT 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE
  6. ©2020 Wantedly, Inc. ΫϥελΛߏ੒͢ΔϊʔυΛॱ൪ʹೖΕସ͑Δ 11 *OQMBDFVQHSBEF ,VCFSOFUFT$MVTUFS NBTUFSW NBTUFSW NBTUFSW

    XPSLFSW XPSLFSW XPSLFSW 4FSWJDF $POpH
 .BQ %FQMPZ NFOU *OHSFTT 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE
  7. ©2020 Wantedly, Inc. ΫϥελΛ৽͘͠࡞ͬͯத਎ΛҠ͢ 12 $MVTUFSNJHSBUJPO ,VCFSOFUFT$MVTUFS NBTUFSW NBTUFSW NBTUFSW

    OPEFW OPEFW OPEFW 1PE 4FSWJDF $POpH
 .BQ %FQMPZ NFOU *OHSFTT 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE
  8. ©2020 Wantedly, Inc. ΫϥελΛ৽͘͠࡞ͬͯத਎ΛҠ͢ 13 $MVTUFSNJHSBUJPO 0ME,VCFSOFUFT$MVTUFS NBTUFSW NBTUFSW NBTUFSW

    OPEFW OPEFW OPEFW 1PE 4FSWJDF $POpH
 .BQ %FQMPZ NFOU *OHSFTT 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE /FX,VCFSOFUFT$MVTUFS NBTUFSW NBTUFSW NBTUFSW OPEFW OPEFW OPEFW
  9. ©2020 Wantedly, Inc. ΫϥελΛ৽͘͠࡞ͬͯத਎ΛҠ͢ 14 $MVTUFSNJHSBUJPO 0ME,VCFSOFUFT$MVTUFS NBTUFSW NBTUFSW NBTUFSW

    OPEFW OPEFW OPEFW 1PE 4FSWJDF $POpH
 .BQ %FQMPZ NFOU *OHSFTT 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE /FX,VCFSOFUFT$MVTUFS NBTUFSW NBTUFSW NBTUFSW OPEFW OPEFW OPEFW 1PE 4FSWJDF $POpH
 .BQ %FQMPZ NFOU *OHSFTT 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE
  10. ©2020 Wantedly, Inc. ΫϥελΛ৽͘͠࡞ͬͯத਎ΛҠ͢ 15 $MVTUFSNJHSBUJPO 0ME,VCFSOFUFT$MVTUFS /FX,VCFSOFUFT$MVTUFS NBTUFSW NBTUFSW

    NBTUFSW OPEFW OPEFW OPEFW 1PE 4FSWJDF $POpH
 .BQ %FQMPZ NFOU *OHSFTT 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE 1PE
  11. ©2020 Wantedly, Inc. JOQMBDFVQHSBEF w ؆୯ w ֤Ϋϥ΢υϕϯμʔ͕"1*Λ༻ҙ w ΦϯϓϨͰ΋ߏ੒πʔϧͷػೳ͕࢖͑Δ

    w ޓ׵ੑͷ੍໿͕͋Δ w NJOPSWFSTJPO্͔͛͠ΒΕͳ͍ w ޓ׵ੑͷͳ͍มߋ͸μ΢ϯλΠϜ͕ൃੜ 16 ֤ΞοϓάϨʔυํ๏ͷಛ௃ DMVTUFSNJHSBUJPO w ໘౗ w Ϋϥ΢υ΍πʔϧͷԸܙΛड͚ΒΕͳ͍ w ෳ਺ΫϥελͰͷӡ༻ͷߟྀ͕ඞཁ w ޓ׵ੑͷ੍໿͕ͳ͍ w όʔδϣϯΛඈ͹্ͯ͛͠Δ͜ͱ͕Մೳ w ίΞίϯϙʔωϯτΛೖΕସ͑Δ͜ͱ΋Մೳ
  12. ©2020 Wantedly, Inc. ,VCFSOFUFTͷόά 19 $MVTUFSNJHSBUJPO͕ඞཁͳέʔε NBTUFSOPEF
 MFBEFS NBTUFSOPEF
 OPUMFBEFS

    XPSLFSOPEF 1PE 1PE 1PE XPSLFSOPEF 1PE 1PE 1PE XPSLFSOPEF 1PE 1PE 1PE XPSLFSOPEF 1PE 1PE 1PE NBTUFSOPEFͷϦʔμʔೖΕସ͑࣌ʹ͢΂ͯͷϊʔυ͕/PU3FBEZʹͳΔόά
 IUUQTHJUIVCDPNLVCFSOFUFTLVCFSOFUFTJTTVFT
  13. ©2020 Wantedly, Inc. ,VCFSOFUFTͷόά 20 $MVTUFSNJHSBUJPO͕ඞཁͳέʔε NBTUFSOPEF
 EFMFUFE NBTUFSOPEF
 OPUMFBEFS

    XPSLFSOPEF 1PE 1PE 1PE XPSLFSOPEF 1PE 1PE 1PE XPSLFSOPEF 1PE 1PE 1PE XPSLFSOPEF 1PE 1PE 1PE NBTUFSOPEFͷϦʔμʔೖΕସ͑࣌ʹ͢΂ͯͷϊʔυ͕/PU3FBEZʹͳΔόά
 IUUQTHJUIVCDPNLVCFSOFUFTLVCFSOFUFTJTTVFT
  14. ©2020 Wantedly, Inc. ,VCFSOFUFTͷόά 21 $MVTUFSNJHSBUJPO͕ඞཁͳέʔε NBTUFSOPEF
 EFMFUFE NBTUFSOPEF
 MFBEFS

    XPSLFSOPEF 1PE 1PE 1PE XPSLFSOPEF 1PE 1PE 1PE XPSLFSOPEF 1PE 1PE 1PE XPSLFSOPEF 1PE 1PE 1PE NBTUFSOPEFͷϦʔμʔೖΕସ͑࣌ʹ͢΂ͯͷϊʔυ͕/PU3FBEZʹͳΔόά
 IUUQTHJUIVCDPNLVCFSOFUFTLVCFSOFUFTJTTVFT
  15. ©2020 Wantedly, Inc. ,VCFSOFUFTͷόά 22 $MVTUFSNJHSBUJPO͕ඞཁͳέʔε NBTUFSOPEF
 EFMFUFE NBTUFSOPEF
 MFBEFS

    XPSLFSOPEF
 /PU3FBEZ 1PE 1PE 1PE XPSLFSOPEF
 /PU3FBEZ 1PE 1PE 1PE XPSLFSOPEF
 /PU3FBEZ 1PE 1PE 1PE XPSLFSOPEF
 /PU3FBEZ 1PE 1PE 1PE NBTUFSOPEFͷϦʔμʔೖΕସ͑࣌ʹ͢΂ͯͷϊʔυ͕/PU3FBEZʹͳΔόά
 IUUQTHJUIVCDPNLVCFSOFUFTLVCFSOFUFTJTTVFT
  16. ©2020 Wantedly, Inc. ,VCFSOFUFTͷόά 23 $MVTUFSNJHSBUJPO͕ඞཁͳέʔε NBTUFSOPEF
 EFMFUFE NBTUFSOPEF
 MFBEFS

    XPSLFSOPEF
 /PU3FBEZ 1PE 1PE 1PE XPSLFSOPEF
 /PU3FBEZ 1PE 1PE 1PE XPSLFSOPEF
 /PU3FBEZ 1PE 1PE 1PE XPSLFSOPEF
 /PU3FBEZ 1PE 1PE 1PE × × × × × × × × × NBTUFSOPEFͷϦʔμʔೖΕସ͑࣌ʹ͢΂ͯͷϊʔυ͕/PU3FBEZʹͳΔόά
 IUUQTHJUIVCDPNLVCFSOFUFTLVCFSOFUFTJTTVFT
  17. ©2020 Wantedly, Inc. ,VCFSOFUFTͷόά 24 $MVTUFSNJHSBUJPO͕ඞཁͳέʔε w मਖ਼͸࣍ͷQBUDIWFSTJPOʹCBDLQPSU͞Εͨ w ରԠ͢Δʹ͸ΫϥελͷΞοϓάϨʔυ͕ඞཁ

    w JOQMBDFVQHSBEF͸
 NBTUFSOPEFΛೖΕସ͑Δඞཁ͕͋Δ NBTUFSOPEFͷϦʔμʔೖΕସ͑࣌ʹ͢΂ͯͷϊʔυ͕/PU3FBEZʹͳΔόά
 IUUQTHJUIVCDPNLVCFSOFUFTLVCFSOFUFTJTTVFT
  18. ©2020 Wantedly, Inc. ΫϥελΛίʔυ؅ཧ Ϋϥελͷ࡞੒Λָʹ͍ͨ͠ w DMVTUFSNJHSBUJPO͸ݕূʹ޻਺͕͔͔Γ
 ΫϥελΛ࡞Γ௚͢ճ਺΋૿͑Δ ࠩ෼ͷൺֱΛ؆୯ʹ͍ͨ͠ w

    ৽چΫϥελͷࠩ෼ΛϨϏϡʔ͠΍͘͢ w ݕূ࣌ͷઃఆΛຊ൪ʹ൓ө͠๨ΕΔͷΛ๷ࢭ 㱺ɹΫϥελͷઃఆ͸ίʔυ؅ཧ 㱺ɹΫϥελ࡞੒΋ίʔυԽ 㱺ɹ؀ڥຖͷࠩ෼͸໌ࣔతʹॻ͘ 35
  19. ©2020 Wantedly, Inc. ಈ࡞֬ೝͷলྗԽ JOQMBDFVQHSBEFΑΓ৻ॏͳ֬ೝ͕ඞཁ w Ϋϥ΢υ΍πʔϧͷԸܙ͕ड͚ΒΕͳ͍ w େ͖ͳมߋؚ͕·Ε͍ͯΔέʔε͕ଟ͍ 㱺ɹݕূ؀ڥͱͷࠩҟ͸ग़དྷΔݶΓݮΒ͢

    ຊ൪͚ͩͰى͖Δ໰୊Λચ͍ग़ͤΔΑ͏ʹ͢Δ 㱺ɹΫϥελ΁ͷ൓ө͸ίʔυΛݩʹ͢Δ ҙਤ͠ͳ͍Ϧιʔεͷ࡞੒Λݕ஌Ͱ͖ΔΑ͏ʹ 36
  20. ©2020 Wantedly, Inc. ඇ໊લ؅ཧ ෳ਺Ϋϥελӡ༻Λߟྀ͢Δ w Ϋϥελ໊มߋʹ௥ैͰ͖Δঢ়ଶʹ w Ϋϥελ੾Γସ͑ΛϩʔϧόοΫखஈʹ 㱺ɹಉҰ༻్ͷϦιʔε͕ෳ਺࡞ΒΕΔ͜ͱΛ૝ఆ͢Δ

    w ໋໊Λ޻෉͢Δ 㱺ɹ௚઀໊લͰࢀরͤͣΫογϣϯϨΠϠʔΛڬΉ w Ϣʔβʔʹݟ͑Δ৔ॴ͸$/".&Λ࢖͏ w MBCFM΍UBHͰϦιʔεΛࢦఆ 37
  21. ©2020 Wantedly, Inc. $SPO+PC w ఆظతʹόονॲཧΛ࣮ߦͤ͞ΔͨΊʹར༻ w 8BOUFEMZʹ͸ॏෳ࣮ߦ͕ڐ༰͞Εͳ͍KPC͕ଘࡏ͢Δ w ਺ඦͷKPC͕ଘࡏ͢͠΂ͯΛॏෳͯ͠΋͍͍ঢ়ଶʹ͢Δͷ͸ࠔ೉

    㱺ɹܽଛΛڐ༰͢Δ࣮ߦ͞Εͳ͍έʔεΛڐ༰͢Δ چΫϥελ͔Βফ͔ͯ͠Β৽ΫϥελʹϦετΞ͢Δ 42 ॏෳΛڐ༰͠ͳ͍Ϧιʔεͷྫ ॏෳܽଛ؅ཧ
  22. ©2020 Wantedly, Inc. 3%# w ෳ਺ͷঢ়ଶ͕ଘࡏ͢ΔͱҰ؏ੑ͕อͨΕͳ͍ w ྫچΫϥελͱ৽ΫϥελͰೖ͍ͬͯΔσʔλ͕ҧ͏ w μ΢ϯλΠϜ͕͋ΔͱαʔϏεʹӨڹ͕ग़Δ

    㱺ɹ,VCFSOFUFTͰ͸؅ཧ͠ͳ͍ 8BOUFEMZͰ͸"84ͷ3%4Λར༻ 43 ॏෳͱܽଛͷ྆ํΛڐ༰͠ͳ͍Ϧιʔεͷྫ ॏෳܽଛ؅ཧ
  23. ©2020 Wantedly, Inc. 47 ·ͱΊ  $MVTUFSNJHSBUJPOͷඞཁੑ w جຊ͸JOQMBDFVQHSBEF w

    JOQMBDFVQHSBEFͰμ΢ϯλΠϜ͕ൃੜ͢Δͱ͖ʹ࣮ࢪ  $MVTUFSNJHSBUJPOͷखॱ w όοΫΞοϓ͔ΒϦετΞͯ͠ϦιʔεΛҠߦ w ಉ͡ઃఆͰෳ਺ΫϥελΛӡ༻͢Δ͜ͱΛ૝ఆ͓ͯ͘͠