Provision nodes for a microk8s cluster in openstack
Find a file
2024-01-16 09:00:03 +01:00
chrony.conf Add cloudconfig and fix typo in snap volume definition. 2024-01-15 20:28:12 +01:00
iac_vars.yaml Futureproof securitygroup logic. 2024-01-16 07:40:38 +01:00
kubenodes-user.yaml.j2 Add workarount to attach volumes in an determined order 2024-01-16 09:00:03 +01:00
kubenodes.yaml Add workarount to attach volumes in an determined order 2024-01-16 09:00:03 +01:00
main.yaml Define number of nodes i varsfile 2024-01-15 22:42:19 +01:00
README.md Add README.md 2024-01-16 08:29:26 +01:00
securitygrouptasks.yaml Add security group to allow access between kubernetes nodes 2024-01-15 09:33:52 +01:00

Matrixtest-IaC-Ansible

This ansible playbook creates a three node cluster in openstack.

In this case a microk8s cluster.

The following tasks is executed by this playbook.

  • Creates a custom security group with rules to accept traffic between the nodes.
  • Create an os volume from the debian-12 image.
  • Create an snap volume to be used as an LVM volume for easy resize and mounted on /lib/snap.
  • Query all security groups in the project.
  • Create an network port for each node and use a selection of the queried security groups.
  • Create an instance with os volume, snap volume and port attached and a custom cloudinit config.

Cloudinit config.

Cloudinit does the following tasks.

  • Install tools for LVM2,XFS and the Chronyd ntp sevice.
  • Configure Chronyd to use netnod.se as a source.
  • Configure a lvol_snap LVM volume and format it with XFS.
  • Add a mount record of the lvm volume in fstab and verifies it.