2019-06-09 00:11:06 -04:00
|
|
|
# PVC Ansible
|
|
|
|
|
|
|
|
A set of Ansible roles to set up a PVC node host.
|
|
|
|
|
2019-06-16 02:19:56 -04:00
|
|
|
## 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.
|
|
|
|
|
2019-06-09 00:11:06 -04:00
|
|
|
## Variables
|
|
|
|
|
|
|
|
A default example set of configuration variables can be found in `group_vars/default/vars.yml
|
|
|
|
|
|
|
|
## Using
|
|
|
|
|
2019-06-16 02:22:55 -04:00
|
|
|
*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.
|
|
|
|
|
2019-06-16 02:19:56 -04:00
|
|
|
0. Deploy a set of 3 or 5 initial PVC nodes using the PVC install ISO.
|
|
|
|
0. 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`.
|
|
|
|
0. 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.
|
|
|
|
0. 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.
|
|
|
|
0. 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.
|
2019-06-20 23:19:50 -04:00
|
|
|
|
|
|
|
## License
|
|
|
|
|
|
|
|
Copyright (C) 2018-2019 Joshua M. Boniface <joshua@boniface.me>
|
|
|
|
|
|
|
|
This repository, and all contained files, is free software: you can
|
|
|
|
redistribute it and/or modify it under the terms of the GNU General
|
|
|
|
Public License as published by the Free Software Foundation, either
|
|
|
|
version 3 of the License, or (at your option) any later version.
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|