我々は Kubernetes の何を監視すればいいのか? / CloudNative Days Kansai 2019

Dacd98e0fcfc478b24f9cd7ec9208904?s=47 Manabu Sakai
November 28, 2019

我々は Kubernetes の何を監視すればいいのか? / CloudNative Days Kansai 2019

Dacd98e0fcfc478b24f9cd7ec9208904?s=128

Manabu Sakai

November 28, 2019
Tweet

Transcript

  1. 我々は Kubernetes の
 何を監視すればいいのか? $MPVE/BUJWF%BZT,BOTBJ ࡔҪֶ!NBOBCVTBLBJ

  2. #CNDK2019

  3. w GSFFFגࣜձࣾ43&ΤϯδχΞ w ೥͔ΒϓϨΠϯάϚωʔδϟʔ w ෳۀͰελʔτΞοϓͷٕज़ΞυόΠβʔ w ੜ·Ε΋ҭͪ΋ؔ੢ w 5XJUUFS

    (JU)VC w !NBOBCVTBLBJ w ϒϩά w NBOBCVTBLBJEFW ࡔҪֶ .BOBCV4BLBJ
  4. εϞʔϧϏδωεΛɺ ੈքͷओ໾ʹɻ .*44*0/ ੜ࢈೥ྸਓޱ͕ܶతʹݮগ͠ɺຫੑతͳਓखෆ଍ͱͳΔ೔ຊ Ͱ࿑ಇੜ࢈ੑ޲্͸ۓٸͷ՝୊ͱͳ͍ͬͯ·͢ɻ GSFFF͸ʮਓ޻஌ೳʯͱʮ౷߹جװۀ຿γεςϜʯΛΫϥ΢υ ٕज़Λ׆༻͠ɺۀ຿ޮ཰ԽͷαϙʔτΛଓ͚Δ͜ͱͰɺதݎத খاۀͷόοΫΦϑΟεۀ຿ޮ཰ԽΛ໨ࢦ͍ͯ͠·͢ɻ

  5. PRODUCTS

  6. 6 ૑ۀ͔Β*10·Ͱɺதখاۀ׆ੑԽͷͨΊͷαʔϏεΛҰؾ௨؏Ͱఏڙ ձࣾ֓ཁ ❂ೲ੫͢Δ ⾭ҭͯΔ ↻ӡӦ͢Δ ✩͸͡ΊΔ ձࣾઃཱGSFFF ։ۀGSFFF Ϋϥ΢υձܭιϑτGSFFF

    ਓࣄ࿑຿GSFFF ϚΠφϯόʔ؅ཧGSFFFؚΉ Ϋϥ΢υਃࠂGSFFF 161ԯ603ສԁ (ࢿຊ४උۚ౳ؚΉ) ैۀһ਺ ࣄۀ಺༰ Ϋϥ΢υܕόοΫΦϑΟεαʔϏεͷ։ൃɾൢച ࢿຊۚ ઃཱ೥݄೔ 2012೥7݄ 506໊ʢ2019೥6݄຤࣌఺ʣ 2019೥ʮಇ͖͕͍ͷ͋Δձࣾʯ ϥϯΩϯά4Ґ
  7. ར༻ࣄۀॴ਺ྦྷܭ ສ 2014.3 2015.3 2016.3 2017.3 2018.3 800,000 600,000 300,000

    65,000 1,000,000 1,000,000
  8. 8  ,VCFSOFUFTͷ؂ࢹ͸͜Ε·ͰͱԿ͕ҧ͏ͷ͔ʁ  ϚωʔδυαʔϏεΛ࢖͏ҙຯ  ؂ࢹΛ࢝ΊΑ͏  ·ͱΊ ΞδΣϯμ

  9. 9 ʮ,VCFSOFUFTͷ؂ࢹʹऔΓ૊Έ͍ͨਓ͕ɺ࠷ॳͷҰาΛ౿Έग़ͨ͢Ί ͷϙΠϯτΛԡ͑͞ΒΕΔ͜ͱʯ GSFFFͰͷ࣮ӡ༻͔ΒֶΜͩ͜ͱΛ͓࿩͠͠·͕͢ɺ·ͩ·ͩվળ͕ඞཁ Ͱ͢ɻͥͻϑΟʔυόοΫΛ͍ͩ͘͞ ࠓ೔ͷΰʔϧ

  10. 10 w ,VCFSOFUFTͷجຊతͳ͜ͱ w ಛఆͷΫϥ΢υϕϯμʔ΍؂ࢹαʔϏεͷ࢖͍ํ w ίϯςφ಺ͷΞϓϦέʔγϣϯ؂ࢹ ࿩͞ͳ͍͜ͱ

  11. ,VCFSOFUFTͷ؂ࢹ͸ ͜Ε·ͰͱԿ͕ҧ͏ͷ͔ʁ 01 Section

  12. 12 w GSFFFͰ͸΋ͱ΋ͱ044൛ͷ&MBTUJD4UBDLͰ؂ࢹ͍ͯͨ͠ w SFG&MBTUJD4UBDLʹΑΔ,VCFSOFUFTϞχλϦϯάγεςϜͷ঺հ w Ծ૝Ϛγϯͱಉ͡Α͏ʹ؂ࢹ͍͕ͯͨ͠ɺͦ͏͍͏ϝτϦΫεΛݟͯ΋ ͋·Γ໾ʹཱͨͳ͔ͬͨ w ࣮ࡍɺ໰୊͕ى͖͍ͯͯ΋ؾ෇͚ͳ͍͜ͱ͕͋ͬͨ

    ؂ࢹͷߟ͑ํ΍ΞϓϩʔνΛม͑ͳ͚Ε͹ͳΒͳ͍ͷͰ͸ʁ ͳͥ؂ࢹͷ࿩Λ͢Δͷ͔ʁ
  13. 13 w ΍Γ͍ͨ؂ࢹΛ౿·͑Δͱ%BUBEPHͷํ͕ద͍ͯ͠Δͱ൑அ w &MBTUJD4UBDL͕ྼ͍ͬͯΔͱ͍͏Θ͚Ͱ͸ͳ͍ w ͜Ε·Ͱͷߟ͑ํͰಉ͡Α͏ʹ؂ࢹΛ࢝Ίͯ͠·ͬͨͷ͕ྑ͘ͳ͔ͬͨ &MBTUJD4UBDL͔Β%BUBEPH΁Ҡߦ

  14. ؓ࿩ٳ୊

  15. 15 w *NNVUBCMF*OGSBTUSVDUVSF w Ұ౓࡞ͬͨ΋ͷ͸มߋͤͣʹ࡞Γ௚͢ w એݴతઃఆ w ͋Δ΂͖ঢ়ଶΛએݴ͠ɺͦͷঢ়ଶʹऩଋͤ͞Δ w

    ࣗݾճ෮ w ্هͷಛ௃Λੜ͔͠ɺਓखΛհͣ͞ʹ͋Δ΂͖ঢ়ଶʹ໭͢ ,VCFSOFUFTͷಛ௃
  16. 16 ,VCFSOFUFTͷΞʔΩςΫνϟ apiserver etcd scheduler controller manager kubelet container runtime

    .BTUFSίϯϙʔωϯτ /PEFίϯϙʔωϯτ kubelet container runtime
  17. 17 w ͜Ε·Ͱͷ؂ࢹ w ޡͬͨঢ়ଶΛݕ஌ͯ͠ਓ͕ؾ෇ͨ͘Ίͷ؂ࢹ w ΦϖϨʔγϣϯ͢Δͷ͸ਓ͕લఏʢҰ෦͸ࣗಈԽʣ w ,VCFSOFUFTͷ؂ࢹ w

    ࣗݾճ෮͕ਖ਼͘͠ಈ͍͍ͯΔ͔֬ೝ͢ΔͨΊͷ؂ࢹ w ΦϖϨʔγϣϯ͢Δͷ͸,VCFSOFUFTࣗ਎ ॏཁͳͷ͸,VCFSOFUFTͷࣗݾճ෮ྗΛҡ࣋͠ଓ͚Δ͜ͱɻ ͜Ε·Ͱͷ؂ࢹͱͷҧ͍
  18. 18 w ·ͣ͸,VCFSOFUFTͷࣗݾճ෮ྗΛҡ࣋͢ΔͨΊͷ؂ࢹ w ݸʑΛίϯςφΛݟΔͷ͸ͦͷޙ w ֤ίϯϙʔωϯτ͕མͪΔͱɺͲ͜ʹӨڹ͕ग़Δ͔೺Ѳ͓ͯ͘͠ w SFGLVCFTZTUFNམͱͯ͠Έ·ͨ͠ ؂ࢹͷϙΠϯτ

  19. 19 ,VCFSOFUFTͷΞʔΩςΫνϟʢ࠶ܝʣ apiserver etcd scheduler controller manager kubelet container runtime

    .BTUFSίϯϙʔωϯτ /PEFίϯϙʔωϯτ kubelet container runtime ؂ࢹͱ͍͏ͱ ݸʑͷίϯςφʹ஫໨ ͕ͪ͠ʜ
  20. 20 ,VCFSOFUFTͷΞʔΩςΫνϟʢ࠶ܝʣ apiserver etcd scheduler controller manager kubelet container runtime

    .BTUFSίϯϙʔωϯτ /PEFίϯϙʔωϯτ kubelet container runtime ·ͣݟΔ΂͖͸ࣗݾ ճ෮Λࢧ͑Δͱ͜Ζ
  21. ϚωʔδυαʔϏεΛ࢖͏ҙٛ 02 Section

  22. ձ৔ͷօ͞Μʹ࣭໰Ͱ͢✋

  23. ຊ൪؀ڥͰ,VCFSOFUFTΛ ࢖͍ͬͯΔํ✋

  24. ࣗલͰ,VCFSOFUFTΫϥελΛ ӡ༻͍ͯ͠Δํ✋

  25. 25 w "NB[PO&,4͕౦ژϦʔδϣϯʹདྷΔ·Ͱ͸ɺLVCFBXTΛ࢖ͬͯ &$্ʹΫϥελΛߏங w ͋Δ೔ಥવɺ,VCFSOFUFTΫϥελʹҰ੾઀ଓͰ͖ͳ͘ͳΔো֐͕ൃੜ w ௐ΂ͯΈΔͱɺLVCFMFU͕"1*ͷೝূʹ࢖͏5-4ূ໌ॻ͕ࣦޮ͍ͯ͠ ͨ w

    SFG,VCFSOFUFTͷ5-4ূ໌ॻʹ͍ͭͯௐ΂ͯΈͨ GSFFFͰ࣮ࡍʹ͋ͬͨ࿩
  26. 26 w ,VCFSOFUFTΫϥελΛ҆ఆతʹӡ༻͠ଓ͚Δͷ͸େม w ࠷৽όʔδϣϯ΁ͷ௥ै w ίϯτϩʔϧϓϨʔϯͷ৑௕Խ w ֶशίετͷߴ͞ w

    ߏஙͰ͖Δ㱠ӡ༻Ͱ͖Δ w SFG.BDLFSFMʹ͓͚Δ,VCFSOFUFTར༻ͷऔ૊Έͱ͜Ε͔Β Ϋϥελӡ༻͕ϏδωεͷࠩผԽཁҼʹͳΒͳ͍ͷͰ͋Ε͹ɺੵۃతʹϚ ωʔδυαʔϏεΛ׆༻͢Δɻ ,VCFSOFUFTΫϥελͷࣗલӡ༻͸େม
  27. 27 ,VCFSOFUFTͷΞʔΩςΫνϟʢ࠶ܝʣ apiserver etcd scheduler controller manager kubelet container runtime

    .BTUFSίϯϙʔωϯτ /PEFίϯϙʔωϯτ kubelet container runtime ࣗݾճ෮Λࢧ͑Δͱ ͜ΖΛ೚ͤΔ
  28. 28 w ϚωʔδυαʔϏεΛ׆༻͢Δ͜ͱͰ؂ࢹର৅ΛݮΒͤΔ w ଟ͘ͷ૊৫ʹ͓͍ͯɺӡ༻ίετΑΓϚωʔδυαʔϏεͷίετͷํ ͕͍҆ w ์͓͍ͬͯͯ΋ਐԽ͢Δ w ػೳ͕଍Γͳ͚Ε͹ཁ๬Λग़ͦ͏

    w FHIUUQTHJUIVCDPNBXTDPOUBJOFSTSPBENBQ ϚωʔδυαʔϏεͷϝϦοτ
  29. ؂ࢹΛ࢝ΊΑ͏ 03 Section

  30. 30 ϝτϦΫεͷॏཁ౓Λ෼ྨ͢ΔͨΊʹɺ௨஌ϨϕϧͰ࣍ͷͭʹ෼ྨɻ w /POF w ϝτϦΫε͸ऩू͢Δ͕௨஌͠ͳ͍ w /PUJDF w ϝτϦΫεΛऩू͠ɺ஫ҙשىϨϕϧͰ௨஌͢ΔɻۓٸͷରԠΛඞཁ

    ͱͤͣɺ໷ؒͷΦϯίʔϧ͸͠ͳ͍ w "MFSU w ϝτϦΫεΛऩू͠ɺܯࠂϨϕϧͰ௨஌͢ΔɻਓʹΑΔଈ࠲ͳରԠΛ ඞཁͱ͠ɺ໷ؒ͸Φϯίʔϧ͢Δ ؂ࢹͷ௨஌Ϩϕϧ
  31. 31 w ద੾ͳ௨஌Ϩϕϧ͸ɺϓϩμΫτͷੑ࣭΍։ൃจԽʹΑͬͯҧͬͯ͘Δ w ͦͷ··औΓೖΕΔͷͰ͸ͳ͘ɺࣗ෼ͨͪʹ߹ͬͨ௨஌Λߟ͑Δ w FH.POJUPSJOH"MFSUJOHPOXIBUNBUUFST ؂ࢹͷ௨஌Ϩϕϧ

  32. ௨஌Ϩϕϧ/POF

  33. 33 w ௨஌Ϩϕϧ͕l/POFzͷϝτϦΫε͸ऩू͢Δ͚ͩ w جຊతʹ͸,VCFSOFUFTͷࣗݾճ෮ʹ೚ͤΒΕΔ΋ͷ ௨஌Ϩϕϧl/POFz

  34. 34 w Ϋϥελ w ϊʔυ਺ w ϊʔυ਺Λద੾ͳ୆਺ʹҡ࣋͢Δͷ͸$MVTUFS"VUPTDBMFSͷ໾ׂ w 1PE਺ w

    1PE਺Λҡ࣋͢Δͷ͸%FQMPZNFOU΍%BFNPO4FUͷ໾ׂ w ϊʔυͷ$16 ϝϞϦ࢖༻཰ w ϦιʔεΛׂΓ౰ͯΒΕͳ͍ͱ͖͸$MVTUFS"VUPTDBMFS͕ϊʔυ Λ૿΍͢ ௨஌Ϩϕϧl/POFzͷ۩ମྫ
  35. 35 w Ϧιʔεͷҡ࣋΍ׂΓ౰ͯ͸,VCFSOFUFT͕ߦ͏ͷͰɺਓ͕ϑΥϩʔ͢ Δ༨஍͸͋·Γͳ͍ w ࣗݾճ෮͕ਖ਼͘͠ಈ͍͍ͯͳ͍৔߹͸্Ґͷ؂ࢹͰؾ෇͚Δʢޙड़ʣ ௨஌Ϩϕϧl/POFzͷରԠ

  36. ௨஌Ϩϕϧ/PUJDF

  37. 37 w ௨஌Ϩϕϧ͕l/PUJDFzͷϝτϦΫε͸ɺۓٸͷରԠ͸ෆཁ͕ͩ์ஔ͢ ΔͱϢʔβʔʹӨڹ͕ग़͔Ͷͳ͍΋ͷ w ࣗݾճ෮ػೳͷൣғ֎Ͱى͖͍ͯΔͷͰɺਓͷϑΥϩʔΛඞཁͱ͢Δ ௨஌Ϩϕϧl/PUJDFz

  38. 38 w Ϋϥελ w ,VCFSOFUFTͷόʔδϣϯ w &0-Λܴ͑ͨόʔδϣϯΛ࢖͍ͬͯͳ͍͔ w ϑΝΠϧγεςϜ࢖༻཰ w

    1VMMͨ͠%PDLFSΠϝʔδ͕ཷ·Γ͕ͪ w ϩάΤʔδΣϯτͷΤϥʔ w %BFNPO4FUͰ഑ஔͨ͠ϩάΤʔδΣϯτ͕ΤϥʔʹͳΔͱɺίϯ ςφͷϩάΛܽଛ͔͠Ͷͳ͍ ௨஌Ϩϕϧl/PUJDFzͷ۩ମྫ
  39. 39 w ίϯςφ w 1PE΍%FQMPZNFOUͷΠϕϯτ w 00.,JMMFE $SBTI-PPQ#BDL0GG 1VMM*NBHF&SSPSͳͲ w

    1PEͷϦελʔτճ਺ w ٸʹϦελʔτճ਺͕૿͍͑ͯͳ͍͔ w ίϯςφ഑ஔͷภΓ w ,VCFSOFUFTͷεέδϡʔϥ͸1PEͷ࡞੒࣌ʹ͔͠εέδϡʔϦϯ άΛߦΘͳ͍ ௨஌Ϩϕϧl/PUJDFzͷ۩ମྫ
  40. 40 w ,VCFSOFUFTͱͯ͠͸ਖ਼͘͠ಈ͍͍ͯΔ͕ɺ์ஔ͢Δͱো֐ʹܨ͕Γ͔ Ͷͳ͍΋ͷ w ࣗݾճ෮͠ͳ͍৔߹͕ଟ͍ w ϦιʔεͷεςʔλεΛݟΔͱώϯτ͕͋Δ ௨஌Ϩϕϧl/PUJDFzͷରԠ

  41. ௨஌Ϩϕϧ"MFSU

  42. 42 w ௨஌Ϩϕϧ͕l"MFSUzͷϝτϦΫε͸ɺ௨஌͕ಧ͍ͨͱ͖ʹ͸Կ͔͠Β ϢʔβʔʹӨڹ͕ग़࢝Ί͍ͯΔՄೳੑ͕͋Δ w ؾ෇͍ͨ࣌఺Ͱଈ࠲ʹରԠ͢Δ͜ͱ͕ٻΊΒΕΔ w ࣗݾճ෮Ͱ͖͍ͯͳ͍ঢ়ଶʹ͍ؕͬͯΔ ௨஌Ϩϕϧl"MFSUz

  43. 43 w Ϋϥελ w LVCFTZTUFNʹΠϯετʔϧ͞Εͨίϯϙʔωϯτ w ,VCFSOFUFTΛՔಇͤ͞Δͷʹඞཁͳίϯϙʔωϯτ͕ಈ͍͍ͯΔ ͜ͱΛ؂ࢹ͢Δ w ࣗ෼ͨͪͰΠϯετʔϧͨ͠ίϯϙʔωϯτ΋ؚΉ

    w ͜ΕΒͷίϯϙʔωϯτ͕ಈ͍͍ͯͳ͍ͱࣗݾճ෮΋͠ͳ͍ ௨஌Ϩϕϧl"MFSUzͷ۩ମྫ
  44. 44 w ίϯςφ w %FQMPZNFOUͷ%FTJSFEͱ"WBJMBCMF w σϓϩΠ࣌ͳͲΛআ͖ɺৗʹҰக͢Δ͜ͱ͕ظ଴͞ΕΔ w ϦιʔεͷׂΓ౰͕ͯ͏·͘ಈ͍͍ͯͳ͍৔߹ͳͲ΋ݕ஌Ͱ͖Δ ௨஌Ϩϕϧl"MFSUzͷ۩ମྫ

  45. 45 w ࣗݾճ෮Ͱ͸෮چ͠ͳ͍ঢ়ଶͳͷͰਓͷϑΥϩʔ͕ඞཁ w ϩά΍ϝτϦΫε͔ΒͲͷίϯϙʔωϯτͰԿ͕ى͖͍ͯΔ͔೺Ѳ͢Δ w ͦͷͨΊʹ΋ϩά͸ҰՕॴʹूΊ͓ͯ͘΂͖ ௨஌Ϩϕϧl"MFSUzͷରԠ

  46. ·ͱΊ 04 Section

  47. 47 w ,VCFSOFUFTͷΞʔΩςΫνϟΛΑ͘ཧղ͔ͯ͠Β؂ࢹΛ࢝ΊΔ w Ͳͷ؂ࢹπʔϧΛ࢖͏͔͸ͦͷޙ w ·ͣ͸ࣗݾճ෮Λҡ࣋ͤ͞ΔͨΊͷ؂ࢹ w ϚωʔδυαʔϏεΛར༻ͯ͠ӡ༻ͷෛՙΛԼ͛Δ w

    ϝτϦΫεͷॏཁ౓Λҙࣝͯ͠ɺ௨஌ϨϕϧΛద੾ʹ෼͚Δ ·ͱΊ
  48. ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠

  49. @manabusakai