全体構成¶
クラスタ、Terraform、ネットワークの姿を説明する。 手順は 運用 を参照する。
何を管理しているか¶
| 領域 | 正となる定義 | 補足 |
|---|---|---|
| VM | terraform/vms.tf |
modules/vm を利用 |
| LXC | terraform/lxcs.tf |
modules/lxc を利用 |
| Terraform state | GCS バケット pve-state(prefix = terraform/state) |
ローカルと CI で共通 |
| ルータ設定 | nw/router-conf/ix2106.cfg |
秘匿済みの現行スナップショット |
| DDNS | ddns/cloudflare-ddns.sh |
LXC ddns などで実行する想定 |
管理対象の一覧は インベントリ にある。
クラスタの前提¶
- Proxmox ノードは少なくとも
pve/pve-02/pve-03を利用する - ノード未指定のモジュールはデフォルトで
pveに配置する - ゲストの多くは WAN セグメント
192.168.40.0/24上にある(詳細は ネットワーク)
Terraform の流れ¶
PR(terraform/** 変更)
└─ GitHub Actions: terraform plan
│
main へ merge / push
└─ GitHub Actions: terraform apply
└─ Proxmox API + GCS state を更新
plan / apply の仕組みは CI/CD、手元での実行は ローカル環境の準備 を参照する。