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
960
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
Rustから学ぶ 非同期処理の仕組み
skanehira
1
150
Android Audio: Beyond Winning On It
atsushieno
0
3.4k
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
22
12k
dbt開発 with Claude Codeのためのガードレール設計
10xinc
2
1.3k
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
1
960
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.8k
Snowflake Intelligenceにはこうやって立ち向かう!クラシルが考えるAI Readyなデータ基盤と活用のためのDataOps
gappy50
0
280
スマートファクトリーの第一歩 〜AWSマネージドサービスで 実現する予知保全と生成AI活用まで
ganota
2
320
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
540
AIがコード書きすぎ問題にはAIで立ち向かえ
jyoshise
1
160
OCI Oracle Database Services新機能アップデート(2025/06-2025/08)
oracle4engineer
PRO
0
180
新規プロダクトでプロトタイプから正式リリースまでNext.jsで開発したリアル
kawanoriku0
1
220
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
What's in a price? How to price your products and services
michaelherold
246
12k
A designer walks into a library…
pauljervisheath
207
24k
Designing Experiences People Love
moore
142
24k
Balancing Empowerment & Direction
lara
3
620
How GitHub (no longer) Works
holman
315
140k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
810
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
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