Debugging for MicroServiceon Kubernetes1
View Slide
ࣗݾհ໊લ: ү ݡେ(@go_vargo)ॴଐ: גࣜձࣾίϩϓϥɹɹ Πϯϑϥάϧʔϓ ୈ2άϧʔϓझຯ: ΫϥυωΠςΟϒܥͷMeetupͷࢀՃCKA/CKADऔಘ͠·ͨ͠https://qiita.com/go_vargo/items/3644c3a44734e2c155f42
ࠓͷςʔϚͷσόοάRemote Debuggingผͷίϯϐϡʔλʔ(αʔόʔ)Ͱஔɾ࣮ߦ͞Ε͍ͯΔΞϓϦέʔγϣϯΛσόοά͢Δ͜ͱ3
ʙ Cloud Nativeʹ͓͚ΔDebugging ʙ4
CNCF Cloud Native Interactive Landscapehttps://landscape.cncf.io/images/landscape.png5
CNCF Cloud Native Interactive Landscapehttps://landscape.cncf.io/images/landscape.png6
Debugging Tool for Cloud Native7Squash Telepresencehttps://www.telepresence.io/https://squash.solo.io/
SquashɾTelepresenceૣݟද8όʔδϣϯ ༻్ ڧΈSquash ϦϞʔτσόοάόάͷτϨʔεϩδοΫͷ֬ೝTelepresence ΠϝʔδͷஔΠϝʔδϏϧυ&σϓϩΠͷॖͦΕͧΕ༻్͕ҧ͏ͷͰɺ͍͍͍͚ͨ࣌Δ→ ࠓճSquashʹணҙ͕͍͔ͭ͋͘ΔͷͰཹҙ͍ͯͩ͘͠͞(ޙड़)Telepresenceʹ͍ͭͯCloud Native Meetup #7 ʮtelepresence Ͱ࢝ΊΔ k8s ࣌ͷϩʔΧϧ։ൃʯࢀরhttps://speakerdeck.com/shiro16/telepresence-deshi-meru-k8s-shi-dai-falserokarukai-fa
9Squashͷ։ൃݩChaos Debugging: Finding and Fixing Microservice Weak Points - Idit Levine & Mitch Kelley, Solo.io https://www.youtube.com/watch?v=jkcFFr8lLTAΑΓൈਮsolo.io: https://www.solo.io/
10ɾϚΠΫϩαʔϏεͷσόοάɾPodͷίϯςφͷσόοάɾαʔϏεͷσόοάɾϒϨʔΫϙΠϯτͷઃఆɾίʔυͷεςοϓॲཧɾมͷධՁͱमਖ਼ɾͦͷଞ௨ৗͷσόοΨʔͰͰ͖Δ͜ͱSquashΛ͏ͱͰ͖Δ͜ͱKubernetesͰͷΤϥʔͷௐࠪํ๏ɺkubectl logdescribeͰ֬ೝ→ ϩάΠϕϯτʹग़ͯ͜ͳ͍ΤϥʔௐࠪͰ͖ͳ͍→ SquashΛ͏ͱϩάʹग़ͯ͜ͳ͍ΤϥʔͷݪҼΛௐࠪͰ͖Δʂ
11DebuggerɾDelve(Go)ɾJavaɾGDB(2019)ɾNodejs(2019)ɾPython - ptvsd(2019)IDEɾVisual Studio CodeɾIntelliJ(※։ൃ͕ࢭ·͍ͬͯͯಈ͔ͳ͍ɻ2019ߋ৽༧ఆ?)ɾEclipse(2019)RoadMapͱͯ͠Service Mesh(Istio)ͱͷΈ߹Θͤ2019ʹܭըSquashͷαϙʔτର
ʙ Demo ʙ12
13ެࣜQuick Start: https://squash.solo.io/overview/Qiitaʹৄࡉखॱࡌ͍ͤͯ·͢https://qiita.com/go_vargo/items/df9084a080f66f9da0ccSquash Quick Start
,VCFSOFUFT$MVTUFS14Demo Application(1/2)%FQMPZNFOU &YBNQMF4FSWJDF(P%FQMPZNFOU &YBNQMF4FSWJDF(PPS+BWBDBMDVMBUF3&45"1*LaptopDelveVSCodeϩʔΧϧڥʹࣄલʹΠϯετʔϧɾGoɾDelveɾSquashctlɾVisual Studio CodeɾVisual Studio Code Extension for Squash
,VCFSOFUFT$MVTUFSEFGBVMU/BNFTQBDF15Demo Application(2/2)%FQMPZNFOU &YBNQMF4FSWJDF(P%FQMPZNFOU &YBNQMF4FSWJDF(PPS+BWBDBMDVMBUF3&45"1*TRVBTIEFCVHHFS/BNFTQBDFVSCode1MBOL1PE
16ɾσόοά͕ऴΘͬͨޙʹɺPlankͷPod͕আ͞Εͳ͍ͷͰࣗͰClean Up͢ΔɾσόοάͷʹιʔεϚοϐϯάͷઃఆΛߦ͏ඞཁ͕͋Δ(ಛʹGoݴޠ)ࢀߟ:ҙhttps://squash.solo.io/configuration/
17ɾSquashɺDebugger for MicroServiceɾରDebugger/IDEͱʹ͜Ε͔Βͷ։ൃʹظɾTelepresenceͱέʔεʹΑ͍͚ͬͯ͋͘·ͰDebuggerͳͷͰɺຊ൪ڥͰΘͳ͍Α͏ʹʂSquashͷ͜Ε͔Βʹظʂ·ͱΊ
188&"3&)*3*/(ʂʂ˝*OGSBTUSVDUVSF&OHJOFFS-JOVY $MPVE4QBOOFS .Z42- ($1 (,& 4QJOOBLFS˝4FSWFSTJEF&OHJOFFS-JOVY 1)1 +BWB (P $MPVE4QBOOFS .Z42-