Joshua Boniface 39a21477b6 | ||
---|---|---|
files/default | ||
group_vars/default | ||
roles | ||
.gitignore | ||
LICENSE | ||
README.md | ||
hosts.default | ||
pvc.yml |
README.md
PVC Ansible
A set of Ansible roles to set up a PVC node host.
Roles
This repository contains two roles:
base
This role provides a standardized and configured base system for PVC. This role expects that the system was installed via the PVC installer ISO, which results in a Debian Buster system.
Variables
A default example set of configuration variables can be found in `group_vars/default/vars.yml
Using
NOTE: All non-default
directories under group_vars/
and files/
, and the hosts
file,
are ignored by this Git repository. It is advisable to manage these files securely
in a separate repository and use symlinks to place them in the expected locations in
this repository. Note that the files/
data is created during cluster bootstrap.
- Deploy a set of 3 or 5 initial PVC nodes using the PVC install ISO.
- Configure the networking on the hosts via
ssh deploy@<host>
and editing the/etc/network/interfaces
file to match your network layout, including and bonding and vlans. Remember to remove the static or DHCP configuration from the primary (upstream
, usually) network interface that was set by the installer to allow bootstrapping. Use themanual
mode for all interfaces that PVC will manage. Bring up all configured interfaces viaifup
. - Create a new cluster group in the
hosts
file, usinghosts.default
as an example. For the initial bootstrap run, it is recommended to only include the initial coordinators to ensure a smooth bootstrapping. - Create a set of vars in
group_vars
, usinggroup_vars/default
as an example. Ensure that all desired coordinators are configured with theis_coordinator: yes
flag. - Run the
pvc.yml
playbook against the servers. If this is the very first run for a given cluster, use the-e bootstrap=yes
variable to ensure the Ceph, Patroni, and PVC clusters are initialized.