Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
お家miniPCを使ってミリしらでkubernetes clusterたててみる
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
lemolatoon
March 22, 2025
330
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
お家miniPCを使ってミリしらでkubernetes clusterたててみる
https://wakate.connpass.com/event/343220/
情報科学若手の会春の陣2025でのLTのスライドです。
lemolatoon
March 22, 2025
More Decks by lemolatoon
See All by lemolatoon
スマホから Youtube Shortsを見られないようにする
lemolatoon
29
39k
【Rust × C++】 夢の共演を試した話
lemolatoon
1
1.8k
no_stdでもasyncしたい
lemolatoon
0
280
Rustの手続きマクロで黒魔術入門
lemolatoon
2
1.4k
Featured
See All Featured
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
320
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
240
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
470
Navigating Weather and Climate Data
rabernat
0
520
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
For a Future-Friendly Web
brad_frost
183
10k
The browser strikes back
jonoalderson
0
1.7k
Darren the Foodie - Storyboard
khoart
PRO
4
3.9k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
430
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
290
Transcript
お家miniPCを使って ミリしらでkubernetes cluster たててみる lemolatoon
もくじ • 経緯 • kubernetesとは • ミリしらからの脱出 • kubernetes clusterを建てる
• マイクラサーバーをcluster上で動かす • おうち特有の制約 • 最終形
経緯 • あるタスクを倒したご褒美でミニPCを購入 • いままでのkubernetesのイメージ • よし、mini PCとRasberry Pi 4でクラスタ建ててみよう
• 目標はマイクラサーバーをたてることに Ryzen 7 5700U RAM: 16GB SSD: 500GB 3.1万円 なんか難しそう 家で動いてたらかっこいいかも
kubernetesとは? • コンテナを使ったワークロードやサービスを管理するためのオープンソースプラット フォーム • 宣言的な設定と自動化によって効率的に運用可能 たとえば... • コンテナが落ちたときに、自動で立ち上げる •
rolling updateを可能に • ロードバランシング、スケーリングの設定
kubernetes clusterのイメージ Control Plane: master node Node 1 Node 2
Pod1 Pod2 Pod3 * Pod: 2つ以上のコンテナのまとまり
kubernetes clusterのイメージ Control Plane: master node Node 1 Node 2
Pod1 Pod2 Pod3 * Pod: 2つ以上のコンテナのまとまり Podがダウンする
kubernetes clusterのイメージ Control Plane: master node Node 1 Node 2
Pod1 Pod2 * Pod: 2つ以上のコンテナのまとまり Podがダウンする
kubernetes clusterのイメージ Control Plane: master node Node 1 Node 2
Pod1 Pod3 * Pod: 2つ以上のコンテナのまとまり 👀 Control Plane: Podがダウンしたことに 気づく
kubernetes clusterのイメージ Control Plane: master node Node 1 Node 2
Pod1 Pod3 * Pod: 2つ以上のコンテナのまとまり Control Plane: Podを作り直すための準 備
kubernetes clusterのイメージ Control Plane: master node Node 1 Node 2
Pod1 Pod3 * Pod: 2つ以上のコンテナのまとまり Pod2 スケジュールされたPod が作り直される
どうやってミリしら状態で情報を集めるか 1. 基本的な概念をつかむ ◦ 公式ドキュメント ◦ イラストがおおめの本を読む 2. まだよくわからない概念をChatGPTに聞きまくる ◦
↓実際にした質問たち 3. Youtubeのkubernetesについての講演を見る ◦ LISA19 - Deep Dive into Kubernetes Internals for Builders and Operators
実際にclusterを建てる • 最終的に、kubeadmを使うことに決定 ◦ おそらく最も手軽で、簡単に kubernetes clusterを建てることができる • いくつかのコマンドを実行し、clusterが完成! 家
k8s cluster Rasberry Pi 4 (Control Plane) Mini PC (Worker Node) Desktop PC kubectl MacBook Air kubectl by ssh PortForward via Cloudflare Tunnel
マイクラをcluster上で動かす • コンテナイメージ ◦ itzg/minecraft-server • データの永続化 (Persistent Volume) ◦
Node上の特定のディレクトリで Persistent Volumeを実現するStorage Provisionerを使用 ▪ https://github.com/rancher/local-path-provisioner ◦ たとえば、minecraft-pvcという名前で、20GiB分確保しておき、これをコンテナの Volumeとして 使うようにする、などができる。 • サービスの公開 ◦ NodePortという、特定のNodeのIPアドレスとポート番号を用いてサービスを公開するように設定 • ArgoCD ◦ clusterの状態とGitHubで管理する構成を同期 すべてyamlファイルで記述→
LAN内からマイクラサーバーに接続 • ローカルIPでWorker Nodeを指定すれば接続可能!
自分の家特有の事情 • 集合住宅のためルーターの設定ができない ◦ つまり、ポート開放ができない • このままでは外から他の人に遊んでもらえない • なんらかの別の手段でサービス(=マイクラサーバー)を公開する必要がある Port:
25565 k8s cluster
自分の家特有の事情 • 集合住宅のためルーターの設定ができない ◦ つまり、ポート開放ができない • このままでは外から他の人に遊んでもらえない • なんらかの別の手段でサービス(=マイクラサーバー)を公開する必要がある •
解決策: Azureを経由させる Port: 25565 k8s cluster
家 k8s cluster Rasberry Pi 4 (Control Plane) Mini PC
(Worker Node) VPN Node Port Client パケット転送 (socat)
感想 • kubernetesミリしらだったが、kubeadmのおかげで簡単に建てられて楽しい • .yamlでストレージやネットワークも管理しておけるので、dockerで建てるよりも簡単 に建てたり壊したりできて楽しい • 自由にポートを開放できないため、サービスを公開するのが多少面倒 ◦ socat(or
iptables)の設定をyamlでなんとか記述して自動で設定できるようにできたらおもしろそう • 友人にサーバーを遊んでもらえて楽しい
ありがとうございました。