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
お家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
300
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
38k
【Rust × C++】 夢の共演を試した話
lemolatoon
1
1.8k
no_stdでもasyncしたい
lemolatoon
0
280
Rustの手続きマクロで黒魔術入門
lemolatoon
2
1.4k
Featured
See All Featured
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
600
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.6k
The agentic SEO stack - context over prompts
schlessera
0
840
Building Flexible Design Systems
yeseniaperezcruz
330
40k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
The Language of Interfaces
destraynor
162
27k
The Cult of Friendly URLs
andyhume
79
6.9k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
The Curious Case for Waylosing
cassininazir
1
420
Game over? The fight for quality and originality in the time of robots
wayneb77
1
210
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
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でなんとか記述して自動で設定できるようにできたらおもしろそう • 友人にサーバーを遊んでもらえて楽しい
ありがとうございました。