Updated docs

This commit is contained in:
Francesco Zimbolo
2026-04-23 09:10:34 +00:00
parent 043a92ce86
commit 983688a388
6 changed files with 72 additions and 38 deletions

View File

@@ -1,6 +1,6 @@
# 02 - Configuring the Cluster
# 02 - Configuring the Cluster (or Nodes)
Cluster configurations are segmented per project/customer using Ansible inventories. Do not edit variables in the root directory.
Configurations are segmented per project/customer using isolated Ansible inventories. **Best Practice:** One customer (or one logical cluster) equals one inventory folder. Do not attempt to define multiple clusters within a single inventory to prevent cross-contamination (the "Blast Radius").
## 1. Create the Environment
Copy the template directory for your specific project:
@@ -11,8 +11,10 @@ mv inventories/<customer_name>/hosts.yml.example inventories/<customer_name>/hos
mv inventories/<customer_name>/group_vars/all.yml.example inventories/<customer_name>/group_vars/all.yml
```
## 2. Configure `hosts.yml`
Define the target PVE nodes. Ansible defaults to the `ansible_host` IP for Corosync and DRBD replication. If a dedicated backend network is available, define `priv_ip`. Ansible uses conditional fallback logic automatically.
## 2. Configure `hosts.yml` (Topology & Licensing)
Define the target PVE nodes. Ansible defaults to the `ansible_host` IP for Corosync/DRBD. If a dedicated backend network is available, define `priv_ip`.
**Licensing:** Proxmox licenses are socket/node-specific. Insert the `pve_enterprise_key` directly under each host. If a node lacks a key, omit the variable entirely; Ansible will fall back to the `pve-no-subscription` repository automatically for that specific node.
```yaml
all:
@@ -22,12 +24,18 @@ all:
pve-node-01:
ansible_host: 192.168.1.11
priv_ip: 10.0.0.11
pve_enterprise_key: "pve1c-111111111111"
pve-node-02:
ansible_host: 192.168.1.12
priv_ip: 10.0.0.12
# Omitted key: This node will use no-subscription
```
## 3. Configure `group_vars/all.yml`
* **Deployment Toggles:** Set `deploy_linstor: true` for HCI setups, or `false` for traditional SAN integration.
* **Enterprise Licensing:** Supply a key in `pve_enterprise_key`. If empty (`""`), the playbook applies the `pve-no-subscription` repository.
* **Deployment Toggles:**
* `deploy_linstor: true` (Provisions HCI/DRBD stack)
* `standalone_mode: false` (Set to `true` if you are provisioning independent, unclustered servers).
* **HA Controller:** Define `ha_pool`, `ha_vip` (Virtual IP), and the CIDR prefix for the Linstor DB promoter.
* **Storage Pools:**
* If mapping a raw disk (`/dev/sda`), the playbook invokes `community.general.lvg` to create the VG/Thin Pool.