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

Debugging for MicroService on Kubernetes

Debugging for MicroService on Kubernetes

go_vargo

June 04, 2019
Tweet

More Decks by go_vargo

Other Decks in Programming

Transcript

  1. Debugging for MicroService
    on Kubernetes
    1

    View Slide

  2. ࣗݾ঺հ
    ໊લ: ү ݡେ(@go_vargo)
    ॴଐ: גࣜձࣾίϩϓϥ
    ɹɹ Πϯϑϥάϧʔϓ ୈ2άϧʔϓ
    झຯ: Ϋϥ΢υωΠςΟϒܥͷMeetup΁ͷࢀՃ
    CKA/CKADऔಘ͠·ͨ͠
    https://qiita.com/go_vargo/items/3644c3a44734e2c155f4
    2

    View Slide

  3. ࠓ೔ͷςʔϚͷσόοά
    Remote Debugging
    ผͷίϯϐϡʔλʔ(αʔόʔ)Ͱ഑ஔɾ࣮ߦ͞Ε
    ͍ͯΔΞϓϦέʔγϣϯΛσόοά͢Δ͜ͱ
    3

    View Slide

  4. ʙ Cloud Nativeʹ͓͚ΔDebugging ʙ
    4

    View Slide

  5. CNCF Cloud Native Interactive Landscape
    https://landscape.cncf.io/images/landscape.png
    5

    View Slide

  6. CNCF Cloud Native Interactive Landscape
    https://landscape.cncf.io/images/landscape.png
    6

    View Slide

  7. Debugging Tool for Cloud Native
    7
    Squash Telepresence
    https://www.telepresence.io/
    https://squash.solo.io/

    View Slide

  8. 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

    View Slide

  9. 9
    Squashͷ։ൃݩ
    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/

    View Slide

  10. 10
    ɾϚΠΫϩαʔϏεͷσόοά
    ɾPod಺ͷίϯςφͷσόοά
    ɾαʔϏεͷσόοά
    ɾϒϨʔΫϙΠϯτͷઃఆ
    ɾίʔυͷεςοϓॲཧ
    ɾม਺ͷධՁͱमਖ਼
    ɾͦͷଞ௨ৗͷσόοΨʔͰͰ͖Δ͜ͱ
    SquashΛ࢖͏ͱͰ͖Δ͜ͱ
    KubernetesͰͷΤϥʔͷௐࠪํ๏͸ɺkubectl log΍describeͰ֬ೝ
    → ϩά΍Πϕϯτʹग़ͯ͜ͳ͍Τϥʔ͸ௐࠪͰ͖ͳ͍
    → SquashΛ࢖͏ͱϩάʹग़ͯ͜ͳ͍ΤϥʔͷݪҼΛௐࠪͰ͖Δʂ

    View Slide

  11. 11
    Debugger
    ɾDelve(Go)
    ɾJava
    ɾGDB(2019)
    ɾNodejs(2019)
    ɾPython - ptvsd(2019)
    IDE
    ɾVisual Studio Code
    ɾIntelliJ(※։ൃ͕ࢭ·͍ͬͯͯಈ͔ͳ͍ɻ2019ߋ৽༧ఆ?)
    ɾEclipse(2019)
    RoadMapͱͯ͠Service Mesh(Istio)ͱͷ૊Έ߹Θͤ΋2019೥ʹܭը
    Squashͷαϙʔτର৅

    View Slide

  12. ʙ Demo ʙ
    12

    View Slide

  13. 13
    ެࣜQuick Start: 

    https://squash.solo.io/overview/
    Qiitaʹৄࡉखॱ΋ࡌ͍ͤͯ·͢
    https://qiita.com/go_vargo/items/df9084a080f66f9da0cc
    Squash Quick Start

    View Slide

  14. ,VCFSOFUFT$MVTUFS
    14
    Demo Application(1/2)
    %FQMPZNFOU

    &YBNQMF4FSWJDF
    (P

    %FQMPZNFOU

    &YBNQMF4FSWJDF
    (PPS+BWB

    DBMDVMBUF
    3&45"1*
    Laptop
    Delve
    VSCode
    ϩʔΧϧ؀ڥʹ͸ࣄલʹΠϯετʔϧ
    ɾGo
    ɾDelve
    ɾSquashctl
    ɾVisual Studio Code
    ɾVisual Studio Code Extension for Squash

    View Slide

  15. ,VCFSOFUFT$MVTUFS
    EFGBVMU/BNFTQBDF
    15
    Demo Application(2/2)
    %FQMPZNFOU

    &YBNQMF4FSWJDF
    (P

    %FQMPZNFOU

    &YBNQMF4FSWJDF
    (PPS+BWB

    DBMDVMBUF
    3&45"1*
    TRVBTIEFCVHHFS/BNFTQBDF
    VSCode
    1MBOL1PE

    View Slide

  16. 16
    ɾσόοά͕ऴΘͬͨޙʹɺPlankͷPod͕࡟আ͞
    Εͳ͍ͷͰࣗ෼ͰClean Up͢Δ
    ɾσόοάͷ౓ʹιʔεϚοϐϯάͷઃఆΛߦ͏
    ඞཁ͕͋Δ(ಛʹGoݴޠ)
    ࢀߟ:
    ஫ҙ఺
    https://squash.solo.io/configuration/

    View Slide

  17. 17
    ɾSquash͸ɺDebugger for MicroService
    ɾର৅Debugger/IDEͱ΋ʹ͜Ε͔Βͷ։ൃʹظ଴
    ɾTelepresenceͱ͸έʔεʹΑͬͯ࢖͍෼͚
    ͋͘·ͰDebuggerͳͷͰɺຊ൪؀ڥͰ͸࢖Θͳ͍
    Α͏ʹʂ
    Squashͷ͜Ε͔Βʹظ଴ʂ
    ·ͱΊ

    View Slide

  18. 18
    8&"3&)*3*/(ʂʂ
    ˝*OGSBTUSVDUVSF&OHJOFFS
    -JOVY $MPVE4QBOOFS .Z42- ($1 (,& 4QJOOBLFS
    ˝4FSWFSTJEF&OHJOFFS
    -JOVY 1)1 +BWB (P $MPVE4QBOOFS .Z42-

    View Slide