Slide 1

Slide 1 text

ޙ౻རത(.01FQBCP *OD $MPVE/BUJWF.FFUVQ5PLZP UFMFQSFTFODFͰ࢝ΊΔ LT࣌୅ͷϩʔΧϧ։ൃ

Slide 2

Slide 2 text

νʔϑςΫχΧϧϦʔυ 5PTIJIJSP(PUP!@TIJSP NJOOFࣄۀ෦!(.0ϖύϘ

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

ຊ೔ͷ͓࿩ͷ಺༰ wUFMFQSFTFODFͱ͸ wUFMFQSFTFODFͷ࢖͍ํ wUFMFQSFTFODFΛಋೖ͢ΔࡍͷϋϚΓϙΠϯτ wUFMFQSFTFODFͷॲཧͷྲྀΕ

Slide 5

Slide 5 text

ຊ೔࿩͞ͳ͍಺༰ wLVCFSOFUFTDMVTUFSͷ͓࿩ wLVCFSOFUFTͷجຊతͳ͓࿩ wEPDLFSͷ࢖͍ํ w3BJMTʹ͍ͭͯ wTTIʹ͍ͭͯ

Slide 6

Slide 6 text

UFMFQSFTFODFͱ͸

Slide 7

Slide 7 text

UFMFQSFTFODFͱ͸ w୯ҰͷαʔϏεΛϦϞʔτͷ,VCFSOFUFTΫϥελʹ઀ଓ͠ͳ͕Βɺ ͦͷαʔϏεΛϩʔΧϧͰ࣮ߦ͢Δ͜ͱ͕ՄೳʹͳΔ wͦͷαʔϏε͕Ϋϥελ಺ͷଞͷαʔϏεʹґଘ͍ͯ͠Δ৔߹Ͱ΋ɺ ୯ҰͷαʔϏεͷਝ଎ͳϩʔΧϧ։ൃΛߦ͏͜ͱ͕ՄೳʹͳΔ wϩʔΧϧͷ։ൃϚγϯΛ,VCFSOFUFTΫϥελͷҰ෦ͷΑ͏ʹಈ࡞͞ ͤΔ͜ͱ͕ՄೳʹͳΔ

Slide 8

Slide 8 text

LVCFSOFUFTDMVTUFSNBD

Slide 9

Slide 9 text

LVCFSOFUFTDMVTUFSUFMFQSFTFODFNBD

Slide 10

Slide 10 text

Ͳ͏͍͏໰୊͕ղܾͰ͖Δ͔ʁ

Slide 11

Slide 11 text

ղܾͰ͖Δ໰୊ wJNBHFCVJMEQVTIQPEͷJNBHFߋ৽ͷखؒΛল͘͜ͱ͕Մೳ wϦϞʔτͷ,VCFSOFUFTΫϥελʹ઀ଓ͠ͳ͕Β։ൃͰ͖ΔΑ͏ʹͳ ΔͷͰɺϩʔΧϧ͔ΒଞͷαʔϏε ϚΠΫϩαʔϏεతͳଞͷαʔ Ϗε΍%# ʹ઀ଓ͕ՄೳʹͳΔ wLVCFSOFUFTͷαʔϏεͷҰ෦ͱͯ͠ػೳ͢ΔͷͰɺΞΫηεͨ͠ ࡍͷωοτϫʔΫܦ࿏͕΄΅ಉ͡ʹͳΔ

Slide 12

Slide 12 text

ͭ·Γշదʹ։ൃ͕Ͱ͖Δ

Slide 13

Slide 13 text

UFMFQSFTFODFͷ࢖͍ํ

Slide 14

Slide 14 text

લఏ wIUUQ T ͰΞΫηε͕Ͱ͖ΔQPE͕͋Δ wDPOUBJOFS1PSUͰΛ։͚͍ͯΔ w͜Ε͸3BJMTTFSWFSͷσϑΥϧτͷQPSU͕ͦ͏ͳ͚ͩͰมߋͯ͠ ΋໰୊ͳ͍

Slide 15

Slide 15 text

·ͣ͸JOTUBMM # homebrew Λ࢖͏ $ brew cask install osxfuse $ brew install datawire/blackbird/telepresence # ιʔε͔Β $ git clone git@github.com:telepresenceio/telepresence.git $ cd telepresence $ PREFIX=/path/to/install ./install.sh # bin/ ʹͰ͖Δ

Slide 16

Slide 16 text

UFMFQSFTFODFͷ࢖͍ํͦͷᶃ

Slide 17

Slide 17 text

ϩʔΧϧͰىಈͨ͠TFSWFSʹ ΞΫηεΛྲྀ͢

Slide 18

Slide 18 text

ϩʔΧϧTFSWFS΁ # k8s-deployment-name ͸ஔ͖׵͍͑ͨ deployment ͷ໊લ $ telepresence --swap-deployment k8s-deployment-name \
 --run bundle exec rails s

Slide 19

Slide 19 text

UFMFQSFTFODFͷ࢖͍ํͦͷᶄ

Slide 20

Slide 20 text

ϩʔΧϧͰىಈͨ͠EPDLFS্Ͱ ىಈ͍ͯ͠ΔTFSWFSʹΞΫηεΛྲྀ͢

Slide 21

Slide 21 text

ϩʔΧϧEPDLFS΁ # k8s-deployment-name ͸ஔ͖׵͍͑ͨ deployment ͷ໊લ $ telepresence --swap-deployment k8s-deployment-name \
 --docker-run --rm -it test-image:0.0.1 bundle exec rails s

Slide 22

Slide 22 text

ͦͷଞͷ࢖͍ํ

Slide 23

Slide 23 text

ͦͷଞͷ࢖͍ํ wࠓճ঺հͨͭ͠Ҏ֎ʹ΋LVCFSOFUFTDMVTUFSʹ઀ଓͯ͠৭ʑͰ ͖Δ wྫ͑͹UFMFQSFTFODFSVODVSMIUUQNZTFSWJDFͱ΍ΔͱQPE ্ཱ͕͕ͪΓNZTFSWJDFʹΞΫηεͨ݁͠Ռ͕ฦͬͯདྷͨΓ wIUUQTXXXUFMFQSFTFODFJPIPXUPʹશͯ ʁ ॻ͍ͯ͋Δ

Slide 24

Slide 24 text

ϋϚΓϙΠϯτ

Slide 25

Slide 25 text

QPSUΛ࢖͍ͬͯΔ৔߹

Slide 26

Slide 26 text

QPSUΛ࢖͍ͬͯΔ৔߹ wUFMFQSFTFODFΛىಈ͢Δͱର৅ͷQPEͷEFGBVMUͷDPOUBJOFS ͕ஔ͖׵ΘΔ wஔ͖׵ΘͬͨDPOUBJOFSͰطʹQPSUΛ࢖༻͍ͯ͠Δҝ DPOUBJOFS1PSUͰΞΫηεΛड͚͍ͯͯͦΕΛϩʔΧϧʹྲྀͦ͏ ͱࢥͬͯ΋ग़དྷͳ͍

Slide 27

Slide 27 text

ղܾํ๏ w͓ͦΒ͘ݱঢ়͸ແ͍ͷͰҎ֎Λ࢖͏͔͠ͳ͍

Slide 28

Slide 28 text

QPEʹෳ਺ίϯςφ

Slide 29

Slide 29 text

QPEʹෳ਺ίϯςφΛؚΊΔ৔߹ wUFMFQSFTFODFΛىಈ͢Δͱର৅ͷQPEͷEFGBVMUͷDPOUBJOFS ͕ஔ͖׵ΘΔ wͳͷͰEFGBVMUDPOUBJOFSҎ֎ͰDPOUBJOFS1PSUΛ࢖ͬͯͦͷ QPSUͷ௨৴ΛϩʔΧϧʹஔ͖׵͑Δͱ͔΍Ζ͏ͱࢥͬͯ΋ग़དྷͳ͍

Slide 30

Slide 30 text

ղܾํ๏ wૉ௚ʹEFGBVMUΛ࢖͍·͠ΐ͏ wTXBQEFQMPZNFOULTEFQMPZNFOUOBNFUBSHFUDPOUBJOFSͷ ܗࣜͰࢦఆՄೳ

Slide 31

Slide 31 text

EPDLFSΛ࢖͏৔߹

Slide 32

Slide 32 text

EPDLFSΛ࢖͏৔߹ wUFMFQSFTFODFͱ͍͏ΑΓ׬શʹEPDLFSͷ໰୊ wجຊతʹEPDLFSSVOͷPQUJPO͸ͦͷ··࢖͑Δ wͳͷͰWͱ͔ͰNPVOU͍ͨ͠ w͔͠͠EPDLFSͷNPVOU͸஗͍ NPVOU͢ΔTJ[Fʹ΋ΑΔ

Slide 33

Slide 33 text

ղܾํ๏ wEPDLFSTZODΛ࢖͏ wDBDIFEPQUJPOΛ࢖͏ wEPDLFSͷϝϞϦׂΓ౰ͯΛ૿΍͢

Slide 34

Slide 34 text

UFMFQSFTFODFͷॲཧͷྲྀΕ

Slide 35

Slide 35 text

UFMFQSFTFODFͷॲཧͷྲྀΕᶃ wLVCFDUMWFSTJPODPOpHΛۦ࢖ͯ͠ઃఆΛऔಘ͢Δ wLVCFDUMDPOUFYUA্هͰऔಘͨ͠DVSSFOUDPOUFYUPSBSHTͷDPOUFYUAHFU OTEFGBVMUͰLTDMVTUFSͱͷૄ௨֬ೝ w˞ҎԼग़ͯ͘ΔLVCFDUMͷPQUJPOʹ͸શͯADPOUFYUIPHF OBNFTQBDFEFGBVMUA͕ண͕͘௕͍ͷͰলུ wLVCFDUMHFUEFQMPZNFOUPKTPOFYQPSUABSHTͷEFQMPZNFOUAͰ EFQMPZNFOUͷ৘ใΛऔಘ

Slide 36

Slide 36 text

UFMFQSFTFODFͷॲཧͷྲྀΕᶄ wऔಘͯ͠อ࣋ͨ͠EFQMPZNFOUͷEFGBVMUDPOUBJOFSͷ৘ใΛॻ͖׵͑Δ wPQUJPOͰDPOUBJOFSΛࢦఆͨ͠৔߹͸ࢦఆ͞ΕͨDPOUBJOFS wॻ͖׵͑ͨ಺༰ͰLVCFDUMBQQMZGΛߦ͍ஔ͖׵͑ΔQPEΛ࡞੒ wLVCFDUMTDBMFEFQMPZNFOUATXBQEFQMPZFNFOUͷEFQMPZNFOUA SFQMJDBTͰطଘͷQPEΛ࡟আ wLVCFDUMQPSUGPSXBSEAஔ͖׵͑ͨQPEOBNFA w͜ΕͰQPEͷDPOUBJOFSʹTTIͰ͖ΔΑ͏ʹͳΔ

Slide 37

Slide 37 text

͜͜·Ͱ͸ઌͰઆ໌ͨ͠ ύλʔϯͷ࢖͍ํͰڞ௨

Slide 38

Slide 38 text

·ͣ͸ϩʔΧϧͰىಈͨ͠ TFSWFSΛ࢖͏৔߹

Slide 39

Slide 39 text

ϩʔΧϧTFSWFSΛ࢖͏৔߹ᶃ wTTI Ұ෦ུ /QUFMFQSFTFODF!3 wTTI Ұ෦ུ /QUFMFQSFTFODF! -3 w্هΛߦ͏͜ͱͰQPEͱͷ૒ํ޲ͷΞΫηεΛՄೳʹ͍ͯ͠Δ

Slide 40

Slide 40 text

ϩʔΧϧTFSWFSΛ࢖͏৔߹ᶄ wߋʹTTIVUUMFUFMFQSFTFODFͱ͍͏πʔϧ TTIVUUMFΛ UFMFQSFTFODF༻ʹΧελϚΠζͨ͠΋ͷ Λ࢖ͬͯLVCFSOFUFT্ ͷଞͷαʔϏε΁ͷΞΫηεΛՄೳʹ͍ͯ͠Δ

Slide 41

Slide 41 text

࣍ʹϩʔΧϧͰىಈͨ͠ EPDLFSΛ࢖͏৔߹

Slide 42

Slide 42 text

ϩʔΧϧEPDLFSΛ࢖͏৔߹ᶃ wTTI Ұ෦ུ /QUFMFQSFTFODF! -3 wEPDLFSSVOͰEBUBXJSFUFMFQSFTFODFMPDBMΛ࢖ͬͯEPDLFS DPOUBJOFSΛ্ཱͪ͛Δ w͜ͷDPOUBJOFS͸QSPYZ༻Ͱ͜ͷޙʹىಈ͢ΔDPOUBJOFSͱQPE Λͭͳ͙໾ׂΛ͍ͯ͠ΔΑ͏Ͱ͢ɻ

Slide 43

Slide 43 text

ϩʔΧϧEPDLFSΛ࢖͏৔߹ᶄ wTTI Ұ෦ུ /QSPPU!3 wTTI Ұ෦ུ /QUFMFQSFTFODF!3 wEPDLFSSVOҎ߱ͷΦϓγϣϯΛࢦఆͯ͠࠷ऴతʹΞΫηεΛྲྀ͢ EPDLFSDPOUBJOFSΛىಈ͢Δ

Slide 44

Slide 44 text

࠷ޙʹ

Slide 45

Slide 45 text

ͱΓ͋͑ͣͲΜͳײ͔͡ࢼ͍ͨ͠ਓ޲͚

Slide 46

Slide 46 text

ͱΓ͋͑ͣࢼ͍ͨ͠ wIUUQTHJUIVCDPNUFMFQSFTFODFJPUFMFQSFTFODFUSFF NBTUFSFYBNQMFTHVFTUCPPL w্هʹ(,&༻ͷॾʑ͕͋ΔͷͰࢼͤͦ͏ ˞ࣗ෼͸(,&࢖ͬͯͳ ͍ͷͰࢼͯ͠ͳ͍ wIUUQTHJUIVCDPNTIJSPUFMFQSFTFODFFYBNQMFT wͪ͜ΒͰ΋͓खܰʹ͓ࢼ͍͚ͨͩ͠·͢ɻ

Slide 47

Slide 47 text

Ҏ্UFMFQSFTFODFͷ঺հͰͨ͠

Slide 48

Slide 48 text

͋Γ͕ͱ͏͍͟͝·ͨ͠