Repository navigation
Home
This repository contains a set of showcase items based on Ansible playbooks used to configure a PVE node or cluster and guest machines inside it.
Originally created to show how to use the cloudcodger proxmox_openssh Ansible Collection. It quickly expanded to a larger set of Ansible Collections and roles. Below is a description of the directory layout for the repository.
Start by making sure that all prerequisites have been met and then continue to the PVE Basic page to create a basic PVE node.
A good next step would be following the Builder page to create custom Cloud-Init images. After that, go ahead and explore the other pages to see examples of creating and configuring infrastructure for various purposes.
- A working Ansible Control Node with the required Python modules and Ansible collections installed.
- A LAN or VLAN for showcase use. This repository uses the following values:
- Network CIDR block
192.168.6.0/24(netmask255.255.255.0). - Default route of
192.168.6.1. - Has DNS name resolution configured.
- Network CIDR block
- One (1), three (3) or four (4) system(s) capable of running the PVE software.
- A clone of this repository.
A different network CIDR block can be used but will require you to find and change it where set.
This showcase is not intended to be a full tutorial on how to setup and use Ansible, but there are some things to consider in how the directories and files are layed out when using Ansible to configure and manage PVE nodes and resources.
This is an Ansible Inventory directory used with -i basic when running playbooks. See Ansible Inventory for additional details.
This is similar to lab in setting want_facts: to true, but differs in the basic/pve.yml file, which contains only one host in the proxmox_hosts group and is used to Launch a basic PVE Node.
This directory contains shell scripts and scripts copied from the Rook repository for use in the Grafana Microservices Stack.
This directory contains large files like ISO images, LXC templates and QCOW2 images that different roles either copy to hosts or are provided to Proxmox as disk images for VM creation. This directory is not checked into the git repository and the acquire.yml playbook will create and populate this directory.
This is an Ansible Inventory directory used with -i lab when running playbooks. See Ansible Inventory for additional details.
This differs from lab-minimal in the configuration of the inventory plugin file inventory.proxmox.yml by setting want_facts: to true and the keyed_groups: and compose: variables that cause the plugin to gather additional facts for the hosts in the inventory.
This is an Ansible Inventory directory used with -i lab-minimal when running playbooks. See Ansible Inventory for additional details.
This differs from lab in the configuration of the inventory plugin file inventory.proxmox.yml by not gather any additional facts for the hosts in the inventory. This can result in a significant increase in how fast the inventory is built, especially as the number of guest machines within the PVE cluster increases.
This contains Kubernetes manifest files used by kubectl or helm commands.
This is the typical location for the Ansible ansible.builtin.template module for playbooks at the root level of the directory structure.