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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
58
Rails on Docker
bigplants
2
600
Next Level Git
bigplants
0
660
AWSを使っているならOpsWorksでDevOpsしよう!
bigplants
1
1.8k
Other Decks in Technology
See All in Technology
リージョンの壁を越える、 ちょっと変わったAWSサービスの話
falken
PRO
0
240
Genie Code ワークショップ 応用編 / Genie-Code-Workshop-advanced
databricksjapan
PRO
0
320
KPIだけでは評価できないプロダクトが考えるべき Evalsという第二の評価系 / Beyond KPIs: Evals as a Second Evaluation Framework for Products #PdEConf
aki_iinuma
4
3.6k
When Does a Local Qwen Start to Break
morshoto
0
170
[RSJ26] AnoleVLA: Lightweight Vision-Language-Action Model with Deep State Space Models for Mobile Manipulation
keio_smilab
PRO
0
120
Kiro Crewしか勝たん!?
miu_crescent
PRO
0
180
こんなアーキテクチャ図は嫌だ BEYOND THE TIME: 半年後の自分へ贈る15のメッセージ / 15 of Anti-pattern in AWS Architecture Diagrams
naospon
3
230
多摩川(.dev)ランニング入門 / Tamagawa.dev#3
fujiwara3
3
350
書籍『生成AIの安全性入門』の入門
wataoka
0
210
Where Is JetBrains AI Heading- — Central CLI, Air Alpha, and the Agentic Development Stack
x5gtrn
PRO
0
120
Amazon S3 Tablesに全部任せてみた結果——コンパクション/スナップショット管理は本当に手放せるか
shigeruoda
0
370
Azure Cost Management の FOCUS コストデータを迷わず読むための“3つの軸”
tetsuyaooooo
0
140
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Embracing the Ebb and Flow
colly
88
5.2k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Darren the Foodie - Storyboard
khoart
PRO
3
3.9k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
660
Abbi's Birthday
coloredviolet
3
9.7k
Odyssey Design
rkendrick25
PRO
2
800
A better future with KSS
kneath
240
18k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
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Θ͚Δ ͠ • ։ൃڥͷίϯςφ։ൃ͍͢͠Α͏ʹ͢ Δ • ެ։ڥͷίϯςφඞཁͳͷ͚ͩʹ͢Δ