Waldur deployment in ArgoCD
This repository contains ansible playbook settings for infrastructure setup (ansible/
directory)
together with Kubernetes manifest files for different applications managed by ArgoCD (applications/
directory).
Infrastructure setup
Before beginning with application management, infrastructure setup is required. For this, you should use the playbook ansible/cloud-infrastructure-setup.yaml. Given an access to virtual machines with python3.8+ installed, it is capable of:
- Disk setup in case if each virtual machine has a separate disk attached as a device;
- Installation of RKE2-managed Kubernetes cluster with a single server and workers;
- Installation of Helm tool binary;
- Installation of ArgoCD: both Kubernetes manifests and command-line binary.
All these steps can be customized via either ansible/vars.defaults or ansible/vars.custom
file.
The example infra has 3 VMs with python3.9
installed.
After establishing ssh-based connection to the machines, you can execute the playbook:
1 |
|
After successful run, the infra is ready for further steps.
Installation and management of applications
You should run all the command described below on the RKE2 server, where ArgoCD binary installed, only.
Prerequisite
The following lines ensure user login to ArgoCD server via argocd
binary.
They should run prior to every application-related action.
1 2 3 |
|
You can validate authentication and access:
1 2 |
|
Longhorn
You can use this app manifest and this custom values file for Longhorn installation.
This script creates a new Kubernetes namespace, where application is created synched:
1 2 3 |
|
PostgreSQL operator
You can use this app manifest and this custom values file for PostgreSQL operator installation.
This script creates a new Kubernetes namespace, where application is created synched:
1 2 3 |
|
Waldur
Waldur requires PostgreSQL database as a persistent storage and RabbitMQ as a message queue to be up and running.
Firstly, you need to create a namespace for Waldur:
1 |
|
Secondly, create and sync PostgreSQL application managed by the operator installed before. You can use this manifest for ArgoCD app and this manifest for modification of the DB settings.
1 2 |
|
Finally, you can deploy Waldur using this app manifest and these values. NB: RabbitMQ is included in the deployment.
1 2 |
|