e9fc24a8a8898009bed8a33af6df3d0b0363d2df
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/interfacesfile 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 themanualmode for all interfaces that PVC will manage. Bring up all configured interfaces viaifup. - Create a new cluster group in the
hostsfile, usinghosts.defaultas 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/defaultas an example. Ensure that all desired coordinators are configured with theis_coordinator: yesflag. - Run the
pvc.ymlplaybook against the servers. If this is the very first run for a given cluster, use the-e bootstrap=yesvariable to ensure the Ceph, Patroni, and PVC clusters are initialized.
Languages
Jinja
47.8%
Shell
47.2%
Python
5%