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
shiro16
March 29, 2019
Technology
10
5.9k
telepresence で始める k8s 時代のローカル開発
2019.03.29 Cloud Native Meetup Tokyo #7
shiro16
March 29, 2019
Tweet
Share
More Decks by shiro16
See All by shiro16
minne のアーキテクチャの進化とこれから
shiro16
1
3.5k
minne の開発環境の変革と今後
shiro16
0
1.1k
Rails6 upgrade タイムアタック
shiro16
2
2.8k
minne での検索改善の歴史
shiro16
1
2.5k
minne でのハイブリッドクラウド運用
shiro16
1
1.9k
マイクロサービス事始め@技術編
shiro16
0
1.2k
Other Decks in Technology
See All in Technology
KubeCon + CloudNativeCon NA ‘25 Recap, Extensibility: Gateway API / NRI
ladicle
0
170
Azure SRE Agent x PagerDutyによる近未来インシデント対応への期待 / The Future of Incident Response: Azure SRE Agent x PagerDuty
aeonpeople
0
280
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
130
SMTP完全に理解した ✉️
yamatai1212
0
190
ZOZOにおけるAI活用の現在 ~開発組織全体での取り組みと試行錯誤~
zozotech
PRO
4
4.2k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
今日から始めるAmazon Bedrock AgentCore
har1101
4
330
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/jat08
thara0402
0
120
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
2
700
GCASアップデート(202510-202601)
techniczna
0
240
2026年はチャンキングを極める!
shibuiwilliam
8
1.8k
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
180
Featured
See All Featured
Code Review Best Practice
trishagee
74
20k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
110
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
100
Ruling the World: When Life Gets Gamed
codingconduct
0
130
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
220
Large-scale JavaScript Application Architecture
addyosmani
515
110k
It's Worth the Effort
3n
188
29k
Google's AI Overviews - The New Search
badams
0
900
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
130
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ͷհͰͨ͠
͋Γ͕ͱ͏͍͟͝·ͨ͠