Click on the image below to watch the video on YouTube

OpenMSA is an all-in-one cluster management solution that supports multiple Kubernetes distributions (RKE2, Kubeadm, K3S) with multi-master configuration and load balancing, while automating the deployment of clusters and catalog services.
- System Architecture
- System Requirements
- Supported Infrastructure
- Installation Process
- Post-Installation
- Configuration Details
- Go Binary: Main OpenMSA executable
- GitHub Releases: Distribution platform for binaries and installation scripts
- Installation Script: Automated setup for system dependencies
- Ansible Scripts: Orchestrates installation based on OS and Kubernetes variants
- Configuration Directory:
/etc/openmsa
contains modifiable Ansible playbooks

- Minimum of 3 nodes
- Per node requirements:
- Memory: 8GB or more
- CPU: 4 cores or more
- Sufficient disk space for system and container storage
- AWS Amazon Linux 2
- Ubuntu 22.04 LTS
- Rocky Linux 8.9
Node Type | Role | Label | Description |
---|---|---|---|
MGMT Node | control | control=true | MGMT(control) node for Loadbalancer and ansible Tower |
Master Node | control-plane | master=true | Master(control plane) nodes |
Worker Node | worker | worker=true | Worker nodes for workload execution |
Catalog Name | Default | Node-Selector | Description |
---|---|---|---|
ArgoCD | False | - | CI/CD automation server |
Jenkins | False | - | CI/CD automation server |
Gitlab | False | - | Source code management |
Keycloak | False | - | Identity management |
Prometheus Stack | True | - | Monitoring solution |
Opensearch | False | - | Search and analytics |
Opensearch Dashboard | False | - | Visualization platform |
Fluent-bit | False | - | Log processor |
Rancher Dashboard | True | - | Kubernetes management UI |
Jaeger | False | - | Distributed tracing |
MySQL | False | db=true | Relational database |
MariaDB | False | db=true | Relational database |
PostgreSQL-HA | False | db=true | HA PostgreSQL cluster |
Redis-cluster | False | db=true | In-memory data store |
Kafka | False | - | Event streaming platform |
Longhorn | True | storage=true | Distributed storage |
Minio | False | - | S3-compatible storage |
Istio | False | - | Service mesh |
Velero | False | - | Backup and migration |
Neuvector | False | - | Container security |
- RKE2
- Kubeadm
- K3S
- HAProxy implementation for distributed load management
- Root account access with password authentication
- System modifications require root privileges
- Internet connectivity for package downloads
- Download and execute the installation script:
curl -L https://github.com/yuseok-jeong/openmsa-releases/releases/download/installer-v1.0.0/install.sh | sudo bash
- Launch OpenMSA:
openmsa
The pre-installation process includes:
- OpenMSA binary deployment
- Ansible configuration
- OpenSSH setup (required for Ansible automation)
- Python installation (Ansible dependency)
- Configure server information based on Node Configuration Rules

- Set up Ansible connectivity

- Select Kubernetes deployment type

- Choose desired catalog options

- Deploy Your cluster and catalog services after system configuration

Check Kubernetes cluster status:
kubectl get nodes
kubectl get pods -A
Use K9s for cluster management:
k9s
- Update hosts file:
- Edit
/etc/hosts
to include MGMT node's IP address
- Edit
- Access catalog UIs through configured ingress addresses
- Verify each deployed service is operational
- All Ansible playbooks are located in
/etc/openmsa
directory - Playbooks can be customized based on specific requirements
The system automatically manages:
- Ansible Setup and Connection
- Operating system-specific configurations
- Kubernetes variant deployment
- Catalog service installation and configuration
Known Issues
- To-Be Updated