こんにちは。小川智也です。
夏休み毎日投稿2025 Day1ということで、本日はおうちKubernetesを構築してみたので解説していきたいと思います!
長くなりそうなのでPart3くらいまでになるかなーと思ってますが、ぜひご覧ください。

小川智也と申します。Webプログラマーな中学2年生です。
このブログでは主にITやガジェット系の情報を発信しています!
▼ おすすめリンク ▼
【 X(旧Twitter)・いえPay・個人事業主・ITパスポート・お問い合わせ 】
おうちKubernetesとは

おうちKubernetesとは、その名のとおりおうちにKubernetesを構築することです。
要するに
クベ...クベェr...なんて読むのこれ?


「クバネティス」か「クーベネティス」と読みます。略称として「k8s (ケーハチエス or ケーエイツ)」とも読みます。
知るかボケ

そもそもKubernetesとは

気を取り直して、そもそもKubernetesってなんやねーん!というところを説明していきます。
Kubernetesというのは、コンテナオーケストレーション(=コンテナの自動管理・調整)と呼ばれるツールで、アプリとかDBとかが入ったコンテナのデプロイ(=展開)やスケーリング(=負荷に応じて自動で調整してくれるやつ)などの管理を自動でやってくれるやつです。
個人的には「コンテナを自動でいい感じにしてくれる便利なプラットフォーム」みたいな感じで解釈しています。
Dockerとの違い

次に、同じコンテナ関連のツールであるDocker(ドッカー)とは何が違うのかを説明します。
Dockerはあくまでアプリをコンテナ化して楽にデプロイ出来たり、Docker Composeで複数のコンテナも一気にデプロイできますよーみたいな感じで、コンテナ化するだけのツールです。
一方Kubernetesは、いわば「複数のDockerコンテナをまとめるためのツール」です。Dockerにいろんな機能を付け足した上位互換みたいなものですね。
Dockerがコンテナ化するツール、Kubernetesがそのコンテナを大規模に管理・運用するツールと捉えとくといいと思います。
ただし、どちらも得意不得意があるので、一概に「Dockerのほうがいい!!」とか、「Kubernetesのほうがいい!!」ということはないです。

このように関連していたり似ているところも多いので、技術書だとDockerとKubernetesが一緒に紹介されていることも多いです。
なぜ自宅にKubernetesを導入するのか?
次になぜKubernetes導入するのか?ということについて説明していきます。
まず、なぜ自宅にサーバーを置くのか?というところは下記の自宅サーバーの記事にあるので今回は割愛し、ここではなぜKubernetesを導入するのかというところを説明します。
以前の環境
以前はOSにProxmoxを導入し、その中に仮想マシンやLXCコンテナをいれて動かしてました。
WebUIから操作できる上に、簡単に作って簡単にぶっ壊せるので気に入ってたのですが、今年の5月頃から致命的な不具合が発生し始めました。
Proxmox突然死
今年の5月頃からProxmoxが前触れもなく突然死することが多くなりました。
WebUIを覗いてみると、アクセスはできるものの仮想マシンやLXCコンテナの状態がすべてはてなマークになっていて、この状態になると最後、「仮想マシン・LXCコンテナの各種操作」「サーバーのコンソールの操作」「サーバー自体の再起動」などが全く効かなくなり、電源ボタンを長押しして強制終了するしかなくなります。
しかも一度直しても1週間ごとくらいに再発してキリがないです。
おそらくProxmoxをアップデートしたことによる不具合やバグなのでしょうが、流石にこの頻度で発生されると本番環境ではないホームラボといえど問題があります。
そうだ。Kubernetesを導入しよう。
その結果「そうだ。Kubernetesを導入しよう。」という結論に至りました。
Dockerを導入することも考えましたが、Kubernetesのほうが安定性が高そうで将来的な管理もやりやすそうだなーという個人的な独断と偏見によりKubernetesに決まりました。Dockerごめんね
実際に導入する構成
ということで、いよいよ今回の構成を説明していきます。
ハードウェア&ソフトウェア
- PC GMKtec NUCBox G3
 - CPU Intel N100
 - メモリ 8GB
 - ストレージ NVMe M.2 256GB
 - OS Ubuntu Server 24.04.2 LTS
 - Kubernetes k3s
 
サーバーは以前と同じものを引き続き使い、OSはUbuntu Server 24.04.2 LTSを採用しました。
採用した理由は普通に使い慣れてるからで、サポートされているものなら違うものでも問題はないと思います。
また、今回は通常のKubernetesではなく、k3sという軽量なKubernetesディストリビューションを使います。
Proxmoxから引き継ぎたいもの
- Samba HDD繋げてNASにする用。Kubernetesにいれると面倒くさいのでホストOSのUbuntuにぶち込む
 - Cloudflared&Tailscale セキュアに外部からアクセスするため必須。こちらもホストOSのUbuntuにインストール
 - Guacamole 外でブラウザからRDPするのにいる
 - NextCloud 外からファイルいじったりメール見るのにいる
 - いえPay 風呂代請求するために念の為引き継ぐ
 - ogwlab.com 外部公開してるおがともの自宅鯖研究室(https://ogwlab.com)のサイト
 
新規でインストールするもの
- Home Assistant スマートホームデバイスを一括管理できるやつ
 
現状


とりあえず今日中に終わった作業はこんな感じです。
- k3sのインストール
 - Tailscaleのインストール
 - Cloudflaredのインストール
 - sambaの構築
 

k3s、ワンライナーでインストールできるのでめちゃくちゃ便利...
明日やること
明日はとりあえず片っ端からコンテナをデプロイしていきます。
- Guacamoleのインストール
 - NextCloudのインストール
 - いえPayのビルド、各種設定ファイル移行
 - ogwlab.comのビルド、GitHubからページの移行
 - Home Assistantのインストール
 
おがともの自宅鯖研究室について
移行に伴い本日から明日までの間「おがともの自宅鯖研究室(https://ogwlab.net)」は一時的に閲覧できなくなります。
また、ogatomo.netドメインの一本化のため、ドメインの変更も予定しております。(lab.ogatomo.netとかになりそう)
一応、一定期間はリダイレクトも行おうと考えています。

あとメモしてなかったせいでアクセスカウンターも飛びました!
まとめ
いかがだったでしょうか。今回は夏休み毎日投稿 Day1として、ProxmoxからKubenetesへの移行について記事にしてみました。
明日も引き続きKubernetesの構築についての記事を投稿するので、お見逃しなく!
最後まで見ていただき、ありがとうございました。

この記事がいいと思った方はぜひ他の記事も見ていってください!
X(旧Twitter)のフォローもよろしくお願いします!









