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
Road to k8s
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Daiki Hirakata
April 05, 2018
Technology
290
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Road to k8s
2018/4/5に表参道.rbでLTしたときの資料です。
Daiki Hirakata
April 05, 2018
More Decks by Daiki Hirakata
See All by Daiki Hirakata
Firestoreコスト圧縮の旅
bigplants
0
53
Rails on Docker
bigplants
2
590
Next Level Git
bigplants
0
660
AWSを使っているならOpsWorksでDevOpsしよう!
bigplants
1
1.8k
Other Decks in Technology
See All in Technology
ヘルスケア領域における AI 活用と その安全性担保のための取り組み (Leveraging AI in Healthcare and Our Efforts to Ensure Its Safety) - Google I/O Extended Tokyo 2026, July 11, 2026
zettaittenani
0
380
なぜ私たちのSREプラクティスはなかなか機能しないのか 〜システムより先に組織を見る〜 / Why our SRE practices aren't really working
vtryo
3
3.8k
AI Driven AI Governance
pict3
0
440
知らん間に、回ってる
ming_ayami
0
610
あなたの『Site』はどこですか? — xREという考え方
miyamu
0
1.2k
ZOZOTOWNの進化と信頼性を両立する負荷試験
zozotech
PRO
2
170
穢れた技術選定について
watany
12
2.9k
AIと共生する開発者プラットフォーム:バクラクのモノレポ×マイクロサービス基盤
sakajunquality
2
3.6k
Amplify Gen2でbackend.tsにCDKを定義する/しない事によるCDKの挙動の違いとユースケース
smt7174
1
250
【Claude Code】鹿野さんに聞く 私の推しの並行開発環境 大公開 / claude-code-parallel-2026-07-15
tonkotsuboy_com
11
7.9k
Making sense of Google’s agentic dev tools
glaforge
1
220
SRE Lounge Hiroshimaへの招待
grimoh
0
670
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
210
The Invisible Side of Design
smashingmag
301
52k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
220
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
2
330
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Technical Leadership for Architectural Decision Making
baasie
3
440
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
460
Google's AI Overviews - The New Search
badams
0
1.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
290
Transcript
Road to k8s @bigplants Apr 5th 2018 @Omotesando.rb
Who am I ? • Daiki Hirakata (36) • Software
Engineer • Main Programing Languages: PHP, Ruby • Primary interests: DevOps, Docker, Kubernetes, Microservice Architecture, GCP @bigplants
ͪΐͬͱ͚ͩએ
ઈࢍ։ൃऀืूதʂ • ϓϩμΫτ໊: ALL-IN • اۀ׆ಈͰඞཁͳશͯͷ πʔϧ͕ೖ͍ͬͯΔ • Rails, Angular,
AWS • גࣜձࣾϏδωεόϯΫ άϧʔϓ
ࠓɺRailsͷdockerҠߦͷ Λ͠·͢ɻ
Agenda • ݱঢ়ͷ՝ • Dockerɺk8sͷ • ࠓޙͷϩʔυϚοϓ
ݱঢ়ͷ՝ͦͷ̍
͜ΕԿͷࣈͰ͠ΐ͏ʁ 3/6
ਖ਼ղɺ ฐࣾͰ̍͜͜ʙ̎ϲ݄ʹ vagrantͷ։ൃڥ͕յΕͨ ਓͷ
ݱঢ়ͷ՝ͦͷ̎
σϓϩΠɺεέʔϧΞτ ͕༰қͰͳ͍
ݱঢ়ͷDevOpsपΓͷཧ • ChefͰϓϩϏδϣχϯά • CapistranoͰRailsΞϓϦΛσϓϩΠ • ShellscriptͰϑϩϯτΤϯυͷAngularΛσϓ ϩΠ
DevOpsͷ՝ • ֤ఔ͕அ͞Ε͍ͯͯγʔϜϨεʹσϓϩΠ Ͱ͖ͳ͍(ख͕૿͑Δ) • Αͬͯzero-downtimeͷσϓϩΠ͕Ͱ͖ͳ͍ • σϓϩΠ͔͔࣌ؒΔ(30min - 3h)
• ChefͰႈੑͷ୲อ͕༰қͰͳ͍
ͦ͏ͩʂίϯςφ͓͏ʂ
ίϯςφͷϝϦοτ • σϓϩΠ͕ߴɻίϯςφΠϝʔδΛ෮ݩ͢ Δ͚ͩɻ • ͳͷͰ։ൃڥ͕յΕͨͱͯ͠࡞Γ͢ͷ ͕͍ɻ • σϓϩΠ͕ίϯςφΛஔ͖͑ΔҙຯʹͳΔ ͷͰႈੑͷ୲อ͕͍͢͠ɻ
յΕ͍͍ͨͬͯ͡Όͳ͍͔ ίϯςφͩͷ
ίϯςφ ΦʔέετϨʔγϣϯɺ k8s (Kubernetes)Ͱʂ
k8sͷϝϦοτ • ίϯςφͷӡ༻ࣗಈԽͷΈ͕͍ͬͯΔ • Φʔτεέʔϧ (ίϯςφɺϊʔυ) • ࣗಈϦΧόϦ • σϓϩΠํ๏ͷબࢶ͕͋Δ
ϩʔϦϯάΞοϓσʔτɺΧφϦΞϦϦʔε • ίϛϡχςΟ͕׆ൃ • Ϋϥυϕϯμʹґଘ͠ͳ͍ • ڠࢍاۀɺஂମ͕ࢁ <- CNCF Λࢀর
Docker, k8sͷ • ඞཁͳίϯςφ • docker-composeͱk8s • Dockerfile
ඞཁͳίϯςφ • App1(rails) • Worker(rails) • App2(Node.js) • App3(Node.js) •
App4(Node.js) • Nginx • Redis • MySQL • Elasticsearch
docker-composeͱk8s • ։ൃڥͱެ։ڥΛͲͬͪk8sͰΓൈ͘ ͷਏ͍ɻ • ։ൃڥ docker-compose • ެ։ڥ k8s
Ͱ͍͘
Dockerfile • ։ൃڥͱެ։ڥͰDockerfileҰॹʹͰ͖ ͳ͍ɻ • ཧ༝ɺެ։ڥ༻ͷdocker imageσϦόϦ Մೳ(ιʔείʔυؚΊ͕ͯ͢ύοΫ͞Εͨঢ় ଶ)Ͱͳ͚Ε͍͚ͳ͍ɻ •
͕ɺ։ൃڥͦΕͩͱ͍উख͕ѱ͗͢Δɻ
։ൃڥͷDockerfile • ࣮ߦ͢Δඞཁͷ͋Δπʔϧͯ͢Πϯετʔ ϧ ruby, bundle, elasticsearch, nodeͳͲ • ىಈ࣌ʹඞཁͳ࡞ۀEntrypointͰ࣮ߦ
։ൃڥͷDockerfileͷҰ෦ൈਮ
ެ։ڥͷDockerfile • ඞཁͳπʔϧ ruby, bundler, node • ඞཁͳ͍πʔϧ elasticsearch •
ιʔείʔυΛؚΊΔ
ެ։ڥͷDockerfileͷҰ෦ൈਮ
͞Βʹ͔͜͜Β
Docker Multi-stage build • ҰͭͷDockerfileʹෳͷFROM۟ΛೖΕΒΕΔ • npm, bower, bundlerඞཁͳ࠷ऴతʹు͖ग़͞Εͨ ϑΝΠϧ͚ͩΛ֤εςʔδ͔Βίϐʔ͢Δࣄ͕Ͱ͖Δ
• bundler, node(ͦΕͧΕͷґଘͨ͠native lib)image ͔Β֎ͤΔ • ͜ΕͰimage͕ܰྔԽͰ͖Δ
ࠓޙͷϩʔυϚοϓ • ։ൃ༻ίϯςφ४උ • ެ։༻ίϯςφ४උ <- ΠϚίί • GKEʹσϓϩΠ •
CI/CDύΠϓϥΠϯͷඋ • ୭Ͱ͓खܰʹk8sΫϥελʹڥߏங&σϓϩΠͰ͖Δ Α͏ʹ͢Δ
·ͨਐḿڞ༗͠·͢
ࠓͷ·ͱΊ • ։ൃڥͱެ։ڥͰDockerfileΘ͚Δ ͠ • ։ൃڥͷίϯςφ։ൃ͍͢͠Α͏ʹ͢ Δ • ެ։ڥͷίϯςφඞཁͳͷ͚ͩʹ͢Δ