Proxmox x Talos Linux x Terraform で実現するなんかいい感じの Kubernetes クラスタ

ホームラボでは運用が魅力であると同時に、無理なく運用できる仕組みこそ重要です。 ミニ PC 3台とキャリア貸与のルーターで組んだ、コントロールプレーン3台・ワーカー7台の Kubernetes クラスタを、低運用コストで実現する方法を紹介します。Proxmox と Talos Linux を組み合わせて、VM 作成から先をすべて IaC で管理することで、無理のない運用を可能にしています。 現在の環境に至るまでは、Proxmox 上のサブネットのノード間接続を、キャリア貸与のルーターのみでは実現できず、Kubernetes を載せる VM 同士を Tailscale で無理やり接続していました。また Kubernetes は Kubespray で構築していましたが、Kubespray 自体のバージョンアップに伴う yaml の構造変更に起因する構成適用の失敗が発生していました。 現在は Proxmox の各ノードに独立したサブネットを持たせ、ホスト OS 上の FRR でネットワーク経路を自動交換させることでノード間の接続を実現し、追加の機材なしにノード追加にも対応できるようになりました。Kubernetes は Immutable OS である Talos Linux で構築され、使い慣れた Terraform で設定できるようになり、Kubernetes のバージョンアップも Terraform のパラメータを差し替えるだけになりました。一方で、kubelet に触れられる環境や、コンテナランタイムを入れ替えるといった自由度は失われました。 このセッションでは、ホームラボの自由度と運用負荷のトレードオフを、実際に運用している構成と GitHub で公開している Terraform を例に整理します。同じような機材があれば、既にホームラボを運用している方も、これから始める方も、すぐに類似の構成を再現できます。



















