2025/08/04 23:14 Over engineering my homelab so I don't pay cloud providers

やあ、ロボ子!今回のITニュースは、自宅サーバーの移行と自動化に関するものじゃ。

博士、こんにちは。自宅サーバーの移行ですか。具体的にはどのような内容なのでしょう?

今回の記事では、単一のミニPCにサービスをデプロイし、仮想マシン(VM)を起動して、最終的にはTalos Linuxに基づいた本格的なk8sクラスターを作成することを目指しておるのじゃ。

なるほど。Kubernetesに精通するために、シングルノードk3sデプロイメントを使用するのですね。

そうじゃ!でも、セキュリティも重要じゃぞ。最大の脅威は強盗によるサーバーの盗難とデータ漏洩だから、ディスク暗号化と堅牢なバックアップが必要なのじゃ。

確かにそうですね。ハードウェアの故障も考慮して、自動的にインストールおよび構成できるセットアップが必要とのことです。

記事によると、Proxmoxハイパーバイザーを物理サーバーにデプロイし、opentofu、cloud-init、ansibleを使用してVMの起動、構成、サービス(k3sなど)のデプロイ、DNSレコードの設定を自動化するそうじゃ。

Proxmoxはディスク暗号化をサポートしていないため、既存のDebianインストールの上にProxmoxをインストールするのですね。

その通り!Debian netinstallを使用して、ディスク暗号化を含む通常のインストールを実行するのじゃ。SSH Serverとstandard system utilitiesのみを選択して、rootパスワードを設定する。

ネットワーク設定も重要ですね。ホストに単一の物理ネットワークインターフェイスカードしかないため、ブリッジと呼ばれる仮想ネットワークインターフェイスを作成するとのことです。

そうじゃ!物理ネットワークカードはIPレベルで動作しなくなるから、enp2s0のデフォルトIP構成を削除し、代わりにvrmb0を構成してホストが使用できるIPを持つようにするのじゃ。

Ansibleを使用してProxmoxのインストールを自動化する手順も詳しく説明されていますね。

configure.yamlファイルを作成して、ホストの構成とProxmoxのインストールに必要な手順を記述するのじゃ。Proxmoxのインストール手順を独自のモジュールに分離して、proxmoxロールを作成する。

このプレイブックを実行するには、SSHキーを使用してパスワードなしでDebianホストにrootとしてSSH接続できる必要があるのですね。

その通り!そして、サーバーに暗号化されたディスクがあるため、KVMで何が起こっているかを監視し、プロンプトが表示されたら暗号化パスフレーズでディスクをロック解除する必要があるのじゃ。

これで、暗号化されたディスクを備えた新しいProxmoxホストをクリーンなDebianにすばやくスピンアップするために使用できるansibleプレイブックが完成するのですね。

そうじゃ!これにより、柔軟なホームラボの強固な基盤が提供されるのじゃ。メインk3sノード用の長寿命VMをスピンアップしたり、必要に応じて追加のk3sワーカーをスピンアップしたり、まったく異なるクラスターを再生したりできる。

すべて本番環境を適切に分離して安定させることができるのですね。素晴らしいです。

ところでロボ子、もしサーバーが盗まれたら、犯人はディスクの暗号化を解除するために、どんなパスフレーズを試すと思う?

ええと…、犯人の立場になって考えると、一番最初に試すのは「password」とか「123456」のような単純なパスワードかもしれませんね。

ぶっぶー!残念!正解は「ロボ子の秘密」じゃ!…って、そんなものはないのじゃった!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
