Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Proxmox x Talos Linux x Terraform で実現するなんかいい感じの...

nnaka2992
November 15, 2026

Proxmox x Talos Linux x Terraform で実現するなんかいい感じの Kubernetes クラスタ / A Sleek Kubernetes Cluster Powered by Proxmox, Talos Linux, and Terraform

2026/11/15 に開催された「自鯖缶」の登壇資料です。
https://jisaba.sh/
---
ホームラボでは運用が魅力であると同時に、無理なく運用できる仕組みこそ重要です。

ミニ 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 を例に整理します。同じような機材があれば、既にホームラボを運用している方も、これから始める方も、すぐに類似の構成を再現できます。

登壇者
https://jisaba.sh/sessions/4db0d321-2fdf-43ba-b854-815bbacf7158/

nnaka2992

November 15, 2026

Transcript

18 slides
  1. \du 中楯 直希(@nnaka2992) 株式会社スリーシェイク Sreake 事業部 小売企業向け POS システムやオンラインゲームの バックエンドデータベースの運用開発などを行ったのち、株式会

    社スリーシェイクに入社。 現在はSaaS・金融系・モビリティなど様々なドメインの組織に対 してSREing/DBREingを行う。 @nnaka2992 https://naka.date/ 趣味は DB を自宅の Kubernetes クラスタで動かすこと Copyright © 3-shake, Inc. All Rights Reserved. 2
  2. 制約事項 • Proxmox Node や Kubernetes Node(= Proxmox VM) を

    柔軟に追加できること ◦ 今後も Proxmox Node を増やし、k8s node も追加したい • 追加のネットワーク機器を必要としない ◦ 将来増やすかもしれないが今は貸与ルーターのみ • 使うことを第一の目的として管理は簡略にしたい ◦ k8s のバージョンアップも気が向いたときに…… • 環境汚してよく作りなおすから手軽に同じ構築を立てたい Copyright © 3-shake, Inc. All Rights Reserved. 5
  3. 過去の構成: インフラ管理の仕方 • Proxmox Node の設定は手動 (GUI) で管理 ◦ Proxmox

    Node 自体のセットアップや SDN の設定など • cloud-init カスタムテンプレートの作成は Shell Scriptで 半自動化 ◦ qemu agent や Tailscale のインストールなど • VM 作成は Terraform で完全 IaC 化 • k8s クラスタの管理は Kubespray (Ansible) で IaC 化 Copyright © 3-shake, Inc. All Rights Reserved. 7
  4. 過去の構成: 見えてきた課題 • Tailscale で k8s node をつないでいると認証が切れたときのトラ ブルシューティングが大変 ◦

    k8s の設定が悪いのかネットワークのせいなのか分かりづらい ◦ Tailscale が ネットワークを汚すのでなお難しい • k8s のみならず Kubespray のバージョンアップ追従も必要 ◦ Ansible Playbook の定義も変わるのでバージョンを上げるごとに設 定エラーが出る • IaC が Terrafrom と Ansible の二系統あって面倒 ◦ k8s 内部は helm なので IaC 三種。つらい Copyright © 3-shake, Inc. All Rights Reserved. 8
  5. 現在の構成: インフラ管理の仕方がどう変わったか? • k8s node 間通信を FRR で 10.0.0.0/8 をローカル上の通信で接続

    • Proxmox のインストール後はすべて Terraform で管理 ◦ k8s の管理は Kubespray からTalos Linux + Terraform に ◦ k8s のバージョン管理も Terraform で実現 Copyright © 3-shake, Inc. All Rights Reserved. 11
  6. 現在の構成: インフラ管理の仕方がどう変わったか? • どのように通信をローカル化したのか? ◦ FRR = OSPF の OSS

    実 装を使い経路を認識させた ※OSPF(Open Shortest Path First) 該当コード Copyright © 3-shake, Inc. All Rights Reserved. 12
  7. 現在の構成: インフラ管理の仕方がどう変わったか? • どのように Kubespray をなくしたのか? ◦ Kubernetes 専用の Immutable

    OS である Talos Linux を採用した ◦ API 経由で構成を管理で き、Terraform に対応してい る ◦ これにより k8s のバージョ ン管理も Terraform で! 該当コード Copyright © 3-shake, Inc. All Rights Reserved. 13
  8. 管理を楽にした結果どのような課題が生まれたのか? • kubelet のプロセスを自由に触れなくなった • コンテナランタイムのサポートが containerd のみ ◦ cri-o

    も youki も試せない • ホスト OS のプロセスや通信を眺めることができなくなった ◦ strace も bpftrace も実行できない Copyright © 3-shake, Inc. All Rights Reserved. 15
  9. まとめ • 自宅 Kubernetes も IaC を最大限に利用することで気軽に 維持管理できる • 自由度と運用コストはトレードオフの関係にある

    ◦ どちらを重視するのかは、その環境で何が得たいのか次第 • 限られた機材で環境をよりよくするのはホームラボの醍醐味 現在のリポジトリ Copyright © 3-shake, Inc. All Rights Reserved. 18

More Decks by nnaka2992

Other Decks in Programming