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
Kubernetes始めてみた
Search
かびさん@あおかびん
July 11, 2018
Technology
0
970
Kubernetes始めてみた
沖縄・宜野湾エンジニア勉強会(大LT大会) のトーク資料です
https://connpass.com/event/90184/
かびさん@あおかびん
July 11, 2018
Tweet
Share
More Decks by かびさん@あおかびん
See All by かびさん@あおかびん
K8s進捗報告
aokabin
0
360
Okinawa.go Tour of Go! 説明資料
aokabin
0
930
フリーランスの良さ悪さ
aokabin
1
480
2018年LT大会
aokabin
0
120
将来のためのコミュニティ活動
aokabin
0
130
Other Decks in Technology
See All in Technology
実装で解き明かす並行処理の歴史
zozotech
PRO
1
610
SwiftUIのGeometryReaderとScrollViewを基礎から応用まで学び直す:設計と活用事例
fumiyasac0921
0
150
大規模サーバーレスAPIの堅牢性・信頼性設計 〜AWSのベストプラクティスから始まる現実的制約との向き合い方〜
maimyyym
2
1.5k
pprof vs runtime/trace (FlightRecorder)
task4233
0
180
AIツールでどこまでデザインを忠実に実装できるのか
oikon48
5
2.8k
職種別ミートアップで社内から盛り上げる アウトプット文化の醸成と関係強化/ #DevRelKaigi
nishiuma
2
150
AI時代こそ求められる設計力- AWSクラウドデザインパターン3選で信頼性と拡張性を高める-
kenichirokimura
3
140
AWS IoT 超入門 2025
hattori
0
240
From Prompt to Product @ How to Web 2025, Bucharest, Romania
janwerner
0
120
許しとアジャイル
jnuank
1
140
成長自己責任時代のあるきかた/How to navigate the era of personal responsibility for growth
kwappa
4
290
Azure Well-Architected Framework入門
tomokusaba
1
350
Featured
See All Featured
Six Lessons from altMBA
skipperchong
28
4k
Visualization
eitanlees
148
16k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6.1k
Building Applications with DynamoDB
mza
96
6.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The Cost Of JavaScript in 2023
addyosmani
53
9k
Balancing Empowerment & Direction
lara
4
680
How to Ace a Technical Interview
jacobian
280
24k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
How GitHub (no longer) Works
holman
315
140k
Transcript
Kubernetes࢝ΊͯΈͨ ͔ͼ @d_ishitaka
ࣗݾհ • ͔ͼ͞Μˏੴߴେհ Twitter: @d_ishitaka ԾطࠗऀͰ͢ʂʂ Ծࠗ͠·ͨ͠ʂ • ླྀٿେֶʹฤೖ͖ͯͨ͠4ੜ(3ճ)Ͱ͢ɻ •
ڈ·Ͱٳֶͯͯ͠ϑϦʔϥϯεΤϯδχΞͨ͠ΓɺΞϧόΠτͨ͠Γͯ͠·ͨ͠(ࠓ) • ʮࢦథܳਓʯ • Ϋϥυٕज़͕͖ͰɺJAWSUGͱGCPUGʹΑ͘ߦͬͯ·͢ɻ • ͖ͳݴޠGoͰɺ࠷ۙΑ͘RubyΛॻ͍͍ͯ·͢ɻ • ۤखͳͷԾ௨՟Ͱ͢ɻ
ࣗݾհ
ࣗݾհ • ͔ͼ͞Μˏੴߴେհ Twitter: @d_ishitaka ԾطࠗऀͰ͢ʂʂ Ծࠗ͠·ͨ͠ʂ • ླྀٿେֶʹฤೖ͖ͯͨ͠4ੜ(3ճ)Ͱ͢ɻ •
ڈ·Ͱٳֶͯͯ͠ϑϦʔϥϯεΤϯδχΞͨ͠ΓɺΞϧόΠτͨ͠Γͯ͠·ͨ͠(ࠓ) • ʮࢦథܳਓʯ • Ϋϥυٕज़͕͖ͰɺJAWSUGͱGCPUGʹΑ͘ߦͬͯ·͢ɻ • ͖ͳݴޠGoͰɺ࠷ۙΑ͘RubyΛॻ͍͍ͯ·͢ɻ • ۤखͳͷԾ௨՟Ͱ͢ɻ
ࠓ͢͜ͱ •Kubernetesͱʁ(ͬ͘͞Γ) •Ͳ͏͍͍ͷʁ •͡ΊͯΈͨ •ݱঢ়ɺKubernetesΛऔΓר͘ڥ •·ͱΊ
ࠓճͷͷτʔΫͷςʔϚ Kubernetes
KubernetesͬͯΔਓʁ
ΫόωςεͬͯΔਓʁ
ΫϕϧωςεͬͯΔਓʁ
ΫʔϕϧωΠςεͬͯΔਓʁ
ͪͳΈʹਖ਼͍͠ಡΈํ
None
͜ΕӕͰ͠ΐʂ
͜ͷதͰ ۀͰKubernetesΛ͍ͬͯΔਓʁ
͜ͷதͰ ۀͰKubernetesΛ͍ͬͯΔਓʁ ϚαΧϦ࠷ޙʹ·ͱΊ͓ͯ͛Լ͍͞
Kubernetesͱʁ •͍ΘΏΔຊ൪ڥʹ͑Δʮίϯςφʯͷ ʮΦʔέετϨʔγϣϯπʔϧʯͰ͢ɻ →
Kubernetesͱʁ •͍ΘΏΔຊ൪ڥʹ͑Δʮίϯςφʯͷ ʮΦʔέετϨʔγϣϯπʔϧʯͰ͢ɻ → Ͳ͏ͬͯ͏ͷ͔ͳʁ
ͦͦίϯςφͱʁ
ͦͦίϯςφͱʁ •Α͘Θ͔Βͳ͍͚ͲɺΠϝʔδ͜Μͳײ͡ͷ ԾԽٕज़ͷҰͭͩͱଊ͍͑ͯ·͢ɻ
ΦʔέετϨʔγϣϯπʔϧͱʁ •(ଟ)ChefͷKnife(ଟ)AnsibleͷΑ͏ʹɺओʹ ϚγϯͷηοτΞοϓใΛهड़ͨ͠Կ͔͠ΒͷϑΝ Πϧ͕͋ΓɺͦΕΒͷϑΝΠϧΛݩʹ࡞ΒΕͨαʔ όʔΛཧ͢ΔͨΊͷΈ(←ͱղऍ͍ͯ͠Δ) •ͦΕͷίϯςφ൛ (Ͳ͏ΒLXDͷDockerҎ֎ͷίϯςφٕज़ʹ ͑͢ΔΒ͍͠)
ͭ·ΓKubernetes αʔόʔ্ʹ͋ΔίϯςφΛ ཧͯ͘͠ΕΔͭ…ʂ
ͭ·ΓKubernetes αʔόʔ্ʹ͋ΔίϯςφΛ ཧͯ͘͠ΕΔͭ…ʂ Ұ୴ͳΔ΄Ͳ…ʁ
KubernetesͲ͏͍͍ͷʁ
ྑ͘Θ͔Γ·ͤΜʂ
ͰDockerΛ͏έʔεଟͦ͏ •ϚΠΫϩαʔϏεΞʔΩςΫνϟ͕ྲྀߦͬͯ ͖͍ͯͨΓɺ࣮ߦڥͱಉ͡ڥΛ։ൃڥ Ͱ࠶ݱͰ͖ͨΓɺςετͷ࣌αʔόʔཱͯ ͣʹDockerίϯςφΛͬͨΓ͢Δέʔε ૿͍͑ͯΔؾ͕͢Δɻ •ͦ͏͍͏χʔζͷ͜ͱΛߟ͑ΔͱɺAnsible ChefVagrantͰॏ͍ؾ͢Δɻɻɻ
DevOpsͷ྆ํ͕Ͱ͖Δ •࠷ॳ͔ΒKubernetesͰӡ༻͍ͯ͠Εɺαʔόʔ ্ͰͲͷϛυϧΣΞΛར༻͢Δ͔։ൃऀ͕ Dockerfileʹॻ͚ྑ͍͠ɺ͙͢ʹखݩͰࢼͤΔɻ •ChefΛ͍ͬͯΔͱɺϚγϯͷϛυϧΣΞಉ ࢜ͷׯবͱ͔ͱ͔ߟ͑ͳ͍ͱ͍͚ͳ͍ͷͱɺϩʔ ΧϧͰVM༻ҙ͢Δͱ͔݁ߏॏ͍ɻVagrantવ Γɻ
োੑ͕࠷ॳ͔Βߴ͍ •ͪΖΜCookbookͱ͔ʹͪΌΜͱσʔϞϯͱ͠ ͯɺམͪͨΒ࠶ىಈ͢Δͱ͔ॻ͍͍ͯΕ͍͍ ͷ͚ͩͲɺϗετʹΰϛ͕ͬͯͦͷΰϛͷ͍ͤ ͰىಈͰ͖ͳ͍ͱ͔ͩͱհ(inodeͱ͔)ɻ •KubernetesΛ͍ͬͯΕམͪͨΒίϯςφ͕ࢮ ʹɺউखʹ৽ཱͯͯ͘͘͠ΕΔͷͰɺ͋·Γͦͷ ลΛؾʹ͠ͳ͍͍ͯ͘ɺԿͳΒΞϓϦέʔγϣ ϯΤϥʔͰམͪͯɺىಈͯ͘͠ΕΔɻ
ͱ͍͏ͱ͜ΖͰͬͯΈ·ͨ͠
࣮KubernetesΛݚڀʹ Έࠐ͏ͱ͍ͯ͠Δ •ࢄॲཧΛݚڀࣨͰѻ͏ͷͰɺͦͷࢄॲཧ Λߦ͏ڥࣗମΛKubernetes+DockerͰରԠ͠ Α͏ͱ͍ͯ͠Δɻ •ͦ͏͢Δ͜ͱʹΑͬͯݚڀࣨͷ༨ϦιʔεΛ ͬͯɺڥΛԚͣ͞ʹܭࢉॲཧΛߦ͏͜ͱ͕Ͱ ͖ͦ͏ʂ •ͳͷͰKubernetesΛ࢝ΊͯΈ·ͨ͠ɻ
KubernetesͷTutorial •ͱΓ͋͑ͣKubernetesͷTutorialΛ •https://kubernetes.io/docs/tutorials/
Kubernetes Tutorialͷྑ͍ͱ͜Ζ •ϒϥβ্ͰKubernetesΛࢼͤΔʂ
Kubernetes Basics •·ͣKubernetes BasicsͷTutorialΛʂ •༰͜Μͳײ͡ʹͳ͍ͬͯΔΑ͏Ͱ͢ɻ
https://kubernetes.io/docs/tutorials/kubernetes- basics/create-cluster/cluster-interactive/
TutorialΛऴ͑ͯ… •νϡʔτϦΞϧ͘Β͍ͩͬͨΒผʹ͘͠ͳ͍͕ɺ࣮ࡍʹ͓͏ͱ͢ ΔͱɺࣗݾڥͰͷηοτΞοϓ͕໘ͳ༷ࢠ •minikubeΛ͑ϩʔΧϧͰେৎ͚ͩͲϚϧνϊʔυ·ͩରԠ ͯ͠ͳͦ͞͏ •NodeͷωοτϫʔΫઃఆɺKubernetesͷଓʑ… •ҰԠϩʔΧϧͰηοτΞοϓ͢Δํ๏ͱͯ͠bootkubeͱ͍͏πʔϧग़ ͖͍ͯͯͯɺݸਓͰ͏ͷʹෑډԼ͕͖͍ͬͯͯΔΑ͏Ͱ͕͢ɺ KubernetesͰαΫοͱαʔϏε࡞ͬͯग़͔͢ʔɺͷϋʔυϧ·ͩߴ͍ •࠷ۙͷைྲྀʁ
ͬͺΓΫϥυΛ͏ํ͕͍͍ •࠷ۙͰKubernetesʹରԠ͍ͯ͠ΔΫϥυϗεςΟϯάڥॆ࣮ ͖͍ͯͯ͠Δ •GCPͷGKE(Google Kubernetes Engine) •AzureͷAKS(Azure Kubernetes Service) logoແ͔ͬͨ
•AWSͷEKS(Elastic Kubernetes Service) •͜ͷதͩͱ࣮ӡ༻ࣄྫͰݸਓతʹΑ͘ݟΔͷGKEͰɺҙ֎ͳ͜ͱʹ AWSͷEKSҰ൪ޙൃ •ͱ͍͑ݚڀͰ͏ͷͰࣗલͰ·ͳ͍ͱ͍͚ͳ͍Ͱ͕͢ʂʂ
·ͱΊ •Kubernetesɺӡ༻Ͳ͏Βָͦ͏͚ͩͲɺࣗͰΫ ϥελΉͱ݁ߏେมͦ͏ʂ •ͰmicroserviceԽͷྲྀΕ͋Δ͔ΒɺͦΕͱͷ૬ੑ ྑͦ͞͏ʂ •͠ຊ൪ͱͯ͠͏ͳΒGKEͱ͔AKSͱ͔EKSͱ͔Λ ׆༻͢Δͷ͕͍͍͔Ͱ͢Ͷʂ •ࣗલͰΉtipsࠓޙݚڀ͕ਐΊߋ৽ͯ͠ߦ͖·͢ʂ
exit 0
ࠂ •7/17(Ր)ͷʹOkinawa.go͋Γ·͢ʂདྷͯͶʂ •https://okinawa-go.doorkeeper.jp/events/76882