Go to file
Joshua Boniface 1fb481f4fb Use separate bootstrap files for base and pvc roles 2019-06-17 21:59:50 -04:00
files/default Add files dir in repo 2019-06-16 02:10:43 -04:00
group_vars/default Initial commit of PVC Ansible role 2019-06-09 00:52:18 -04:00
roles Use separate bootstrap files for base and pvc roles 2019-06-17 21:59:50 -04:00
.gitignore Update gitignore 2019-06-16 02:10:38 -04:00
LICENSE Add license file 2019-06-11 20:33:51 -04:00
README.md Add note about gitigore to README 2019-06-16 02:22:55 -04:00
hosts.default Move hosts to hosts.default 2019-06-16 02:13:10 -04:00
pvc.yml Initial commit of PVC Ansible role 2019-06-09 00:52:18 -04:00

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.

  1. Deploy a set of 3 or 5 initial PVC nodes using the PVC install ISO.
  2. 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 the manual mode for all interfaces that PVC will manage. Bring up all configured interfaces via ifup.
  3. Create a new cluster group in the hosts file, using hosts.default as an example. For the initial bootstrap run, it is recommended to only include the initial coordinators to ensure a smooth bootstrapping.
  4. Create a set of vars in group_vars, using group_vars/default as an example. Ensure that all desired coordinators are configured with the is_coordinator: yes flag.
  5. 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.