Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
telepresence で始める k8s 時代のローカル開発
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
shiro16
March 29, 2019
Technology
6k
10
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
telepresence で始める k8s 時代のローカル開発
2019.03.29 Cloud Native Meetup Tokyo #7
shiro16
March 29, 2019
More Decks by shiro16
See All by shiro16
minne のアーキテクチャの進化とこれから
shiro16
1
3.6k
minne の開発環境の変革と今後
shiro16
0
1.2k
Rails6 upgrade タイムアタック
shiro16
2
3k
minne での検索改善の歴史
shiro16
1
2.5k
minne でのハイブリッドクラウド運用
shiro16
1
2k
マイクロサービス事始め@技術編
shiro16
0
1.3k
Other Decks in Technology
See All in Technology
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
2026-08-15 JAWS-UG 茨城 #16 Secrets ManagerにおけるSecret値の管理(Terraformの場合) / Secrets Manager Secrets
masasuzu
0
470
tamachi.go 誕生の裏側
rymiyamoto
1
200
Invisible to AI? Making TYPO3 Sites Quotable by AI Search Systems
wolfgangwagner
0
240
属人化を叩き割れ!「制作加速」と「安定化」の矛盾を打破する:8年目プロダクトが辿り着いた「ミスが起こり得ない」アセット制作フローの全貌
gree_tech
PRO
0
120
DatadogのBits Chatが開発組織にもたらしたもの / What Bits Chat Has Brought Us
sms_tech
1
290
AIにブラウザを触らせて、E2EテストをPlaywrightで書く
koji_kawamura
0
300
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
2
2.7k
SmartHR Engineering Team Deck
smarthr
1
3.2k
【CEDEC2026】Creative Approaches to Localizing the Dialects and Unique Speech of Umamusume: Pretty Derby Characters in English
cygames
PRO
4
26k
What's new in Go 1.27?
ciarana
0
290
AI-DLC実践録_フルサイクル開発への挑戦
miyuc
0
340
Featured
See All Featured
Accessibility Awareness
sabderemane
1
180
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
220
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Typedesign – Prime Four
hannesfritz
42
3.1k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
370
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
250
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Faster Mobile Websites
deanohume
310
32k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
730
Producing Creativity
orderedlist
PRO
348
40k
Transcript
ޙ౻རത(.01FQBCP *OD $MPVE/BUJWF.FFUVQ5PLZP UFMFQSFTFODFͰ࢝ΊΔ LT࣌ͷϩʔΧϧ։ൃ
νʔϑςΫχΧϧϦʔυ 5PTIJIJSP(PUP!@TIJSP NJOOFࣄۀ෦!(.0ϖύϘ
None
ຊͷ͓ͷ༰ wUFMFQSFTFODFͱ wUFMFQSFTFODFͷ͍ํ wUFMFQSFTFODFΛಋೖ͢ΔࡍͷϋϚΓϙΠϯτ wUFMFQSFTFODFͷॲཧͷྲྀΕ
ຊ͞ͳ͍༰ wLVCFSOFUFTDMVTUFSͷ͓ wLVCFSOFUFTͷجຊతͳ͓ wEPDLFSͷ͍ํ w3BJMTʹ͍ͭͯ wTTIʹ͍ͭͯ
UFMFQSFTFODFͱ
UFMFQSFTFODFͱ w୯ҰͷαʔϏεΛϦϞʔτͷ,VCFSOFUFTΫϥελʹଓ͠ͳ͕Βɺ ͦͷαʔϏεΛϩʔΧϧͰ࣮ߦ͢Δ͜ͱ͕ՄೳʹͳΔ wͦͷαʔϏε͕ΫϥελͷଞͷαʔϏεʹґଘ͍ͯ͠Δ߹Ͱɺ ୯ҰͷαʔϏεͷਝͳϩʔΧϧ։ൃΛߦ͏͜ͱ͕ՄೳʹͳΔ wϩʔΧϧͷ։ൃϚγϯΛ,VCFSOFUFTΫϥελͷҰ෦ͷΑ͏ʹಈ࡞͞ ͤΔ͜ͱ͕ՄೳʹͳΔ
LVCFSOFUFTDMVTUFS NBD
LVCFSOFUFTDMVTUFS UFMFQSFTFODF NBD
Ͳ͏͍͏͕ղܾͰ͖Δ͔ʁ
ղܾͰ͖Δ wJNBHFCVJMEQVTIQPEͷJNBHFߋ৽ͷखؒΛল͘͜ͱ͕Մೳ wϦϞʔτͷ,VCFSOFUFTΫϥελʹଓ͠ͳ͕Β։ൃͰ͖ΔΑ͏ʹͳ ΔͷͰɺϩʔΧϧ͔ΒଞͷαʔϏε ϚΠΫϩαʔϏεతͳଞͷαʔ Ϗε%# ʹଓ͕ՄೳʹͳΔ wLVCFSOFUFTͷαʔϏεͷҰ෦ͱͯ͠ػೳ͢ΔͷͰɺΞΫηεͨ͠ ࡍͷωοτϫʔΫܦ࿏͕΄΅ಉ͡ʹͳΔ
ͭ·Γշదʹ։ൃ͕Ͱ͖Δ
UFMFQSFTFODFͷ͍ํ
લఏ wIUUQ T ͰΞΫηε͕Ͱ͖ΔQPE͕͋Δ wDPOUBJOFS1PSUͰΛ։͚͍ͯΔ w͜Ε3BJMTTFSWFSͷσϑΥϧτͷQPSU͕ͦ͏ͳ͚ͩͰมߋͯ͠ ͳ͍
·ͣJOTUBMM # homebrew Λ͏ $ brew cask install osxfuse $
brew install datawire/blackbird/telepresence # ιʔε͔Β $ git clone
[email protected]
:telepresenceio/telepresence.git $ cd telepresence $ PREFIX=/path/to/install ./install.sh # bin/ ʹͰ͖Δ
UFMFQSFTFODFͷ͍ํͦͷᶃ
ϩʔΧϧͰىಈͨ͠TFSWFSʹ ΞΫηεΛྲྀ͢
ϩʔΧϧTFSWFS # k8s-deployment-name ஔ͖͍͑ͨ deployment ͷ໊લ $ telepresence --swap-deployment k8s-deployment-name
\ --run bundle exec rails s
UFMFQSFTFODFͷ͍ํͦͷᶄ
ϩʔΧϧͰىಈͨ͠EPDLFS্Ͱ ىಈ͍ͯ͠ΔTFSWFSʹΞΫηεΛྲྀ͢
ϩʔΧϧEPDLFS # k8s-deployment-name ஔ͖͍͑ͨ deployment ͷ໊લ $ telepresence --swap-deployment k8s-deployment-name
\ --docker-run --rm -it test-image:0.0.1 bundle exec rails s
ͦͷଞͷ͍ํ
ͦͷଞͷ͍ํ wࠓճհͨͭ͠Ҏ֎ʹLVCFSOFUFTDMVTUFSʹଓͯ͠৭ʑͰ ͖Δ wྫ͑UFMFQSFTFODFSVODVSMIUUQNZTFSWJDFͱΔͱQPE ্ཱ͕͕ͪΓNZTFSWJDFʹΞΫηεͨ݁͠Ռ͕ฦͬͯདྷͨΓ wIUUQTXXXUFMFQSFTFODFJPIPXUPʹશͯ ʁ ॻ͍ͯ͋Δ
ϋϚΓϙΠϯτ
QPSUΛ͍ͬͯΔ߹
QPSUΛ͍ͬͯΔ߹ wUFMFQSFTFODFΛىಈ͢ΔͱରͷQPEͷEFGBVMUͷDPOUBJOFS ͕ஔ͖ΘΔ wஔ͖ΘͬͨDPOUBJOFSͰطʹQPSUΛ༻͍ͯ͠Δҝ DPOUBJOFS1PSUͰΞΫηεΛड͚͍ͯͯͦΕΛϩʔΧϧʹྲྀͦ͏ ͱࢥͬͯग़དྷͳ͍
ղܾํ๏ w͓ͦΒ͘ݱঢ়ແ͍ͷͰҎ֎Λ͏͔͠ͳ͍
QPEʹෳίϯςφ
QPEʹෳίϯςφΛؚΊΔ߹ wUFMFQSFTFODFΛىಈ͢ΔͱରͷQPEͷEFGBVMUͷDPOUBJOFS ͕ஔ͖ΘΔ wͳͷͰEFGBVMUDPOUBJOFSҎ֎ͰDPOUBJOFS1PSUΛͬͯͦͷ QPSUͷ௨৴ΛϩʔΧϧʹஔ͖͑Δͱ͔Ζ͏ͱࢥͬͯग़དྷͳ͍
ղܾํ๏ wૉʹEFGBVMUΛ͍·͠ΐ͏ wTXBQEFQMPZNFOULTEFQMPZNFOUOBNFUBSHFUDPOUBJOFSͷ ܗࣜͰࢦఆՄೳ
EPDLFSΛ͏߹
EPDLFSΛ͏߹ wUFMFQSFTFODFͱ͍͏ΑΓશʹEPDLFSͷ wجຊతʹEPDLFSSVOͷPQUJPOͦͷ··͑Δ wͳͷͰWͱ͔ͰNPVOU͍ͨ͠ w͔͠͠EPDLFSͷNPVOU͍ NPVOU͢ΔTJ[FʹΑΔ
ղܾํ๏ wEPDLFSTZODΛ͏ wDBDIFEPQUJPOΛ͏ wEPDLFSͷϝϞϦׂΓͯΛ૿͢
UFMFQSFTFODFͷॲཧͷྲྀΕ
UFMFQSFTFODFͷॲཧͷྲྀΕᶃ wLVCFDUMWFSTJPODPOpHΛۦͯ͠ઃఆΛऔಘ͢Δ wLVCFDUMDPOUFYUA্هͰऔಘͨ͠DVSSFOUDPOUFYUPSBSHTͷDPOUFYUAHFU OTEFGBVMUͰLTDMVTUFSͱͷૄ௨֬ೝ w˞ҎԼग़ͯ͘ΔLVCFDUMͷPQUJPOʹશͯADPOUFYUIPHF OBNFTQBDFEFGBVMUA͕ண͕͍͘ͷͰলུ wLVCFDUMHFUEFQMPZNFOUPKTPOFYQPSUABSHTͷEFQMPZNFOUAͰ EFQMPZNFOUͷใΛऔಘ
UFMFQSFTFODFͷॲཧͷྲྀΕᶄ wऔಘͯ͠อ࣋ͨ͠EFQMPZNFOUͷEFGBVMUDPOUBJOFSͷใΛॻ͖͑Δ wPQUJPOͰDPOUBJOFSΛࢦఆͨ͠߹ࢦఆ͞ΕͨDPOUBJOFS wॻ͖͑ͨ༰ͰLVCFDUMBQQMZGΛߦ͍ஔ͖͑ΔQPEΛ࡞ wLVCFDUMTDBMFEFQMPZNFOUATXBQEFQMPZFNFOUͷEFQMPZNFOUA SFQMJDBTͰطଘͷQPEΛআ wLVCFDUMQPSUGPSXBSEAஔ͖͑ͨQPEOBNFA w͜ΕͰQPEͷDPOUBJOFSʹTTIͰ͖ΔΑ͏ʹͳΔ
͜͜·ͰઌͰઆ໌ͨ͠ ύλʔϯͷ͍ํͰڞ௨
·ͣϩʔΧϧͰىಈͨ͠ TFSWFSΛ͏߹
ϩʔΧϧTFSWFSΛ͏߹ᶃ wTTI Ұ෦ུ /QUFMFQSFTFODF!3 wTTI Ұ෦ུ /QUFMFQSFTFODF! -3
w্هΛߦ͏͜ͱͰQPEͱͷํͷΞΫηεΛՄೳʹ͍ͯ͠Δ
ϩʔΧϧTFSWFSΛ͏߹ᶄ wߋʹTTIVUUMFUFMFQSFTFODFͱ͍͏πʔϧ TTIVUUMFΛ UFMFQSFTFODF༻ʹΧελϚΠζͨ͠ͷ ΛͬͯLVCFSOFUFT্ ͷଞͷαʔϏεͷΞΫηεΛՄೳʹ͍ͯ͠Δ
࣍ʹϩʔΧϧͰىಈͨ͠ EPDLFSΛ͏߹
ϩʔΧϧEPDLFSΛ͏߹ᶃ wTTI Ұ෦ུ /QUFMFQSFTFODF! -3 wEPDLFSSVOͰEBUBXJSFUFMFQSFTFODFMPDBMΛͬͯEPDLFS DPOUBJOFSΛ্ཱͪ͛Δ w͜ͷDPOUBJOFSQSPYZ༻Ͱ͜ͷޙʹىಈ͢ΔDPOUBJOFSͱQPE Λͭͳׂ͙Λ͍ͯ͠ΔΑ͏Ͱ͢ɻ
ϩʔΧϧEPDLFSΛ͏߹ᶄ wTTI Ұ෦ུ /QSPPU!3 wTTI Ұ෦ུ /QUFMFQSFTFODF!3
wEPDLFSSVOҎ߱ͷΦϓγϣϯΛࢦఆͯ͠࠷ऴతʹΞΫηεΛྲྀ͢ EPDLFSDPOUBJOFSΛىಈ͢Δ
࠷ޙʹ
ͱΓ͋͑ͣͲΜͳײ͔͡ࢼ͍ͨ͠ਓ͚
ͱΓ͋͑ͣࢼ͍ͨ͠ wIUUQTHJUIVCDPNUFMFQSFTFODFJPUFMFQSFTFODFUSFF NBTUFSFYBNQMFTHVFTUCPPL w্هʹ(,&༻ͷॾʑ͕͋ΔͷͰࢼͤͦ͏ ˞ࣗ(,&ͬͯͳ ͍ͷͰࢼͯ͠ͳ͍ wIUUQTHJUIVCDPNTIJSPUFMFQSFTFODFFYBNQMFT wͪ͜ΒͰ͓खܰʹ͓ࢼ͍͚ͨͩ͠·͢ɻ
Ҏ্UFMFQSFTFODFͷհͰͨ͠
͋Γ͕ͱ͏͍͟͝·ͨ͠