Use an alternative MySQL instance to what is shipped with RapidFort.
The RapidFort platform requires MySQL. For ease of deployment, the RapidFort Big Bang Helm Chart has been configured to run a MySQL pod by default. However, for production environments, we strongly recommend that customers use their own enterprise level MySQL database which provides support for scalability, availability, and disaster recovery. This is available in version 1.1.30-bb.0 and above.
Database Requirements
-
Production MySQL 8.0+
-
At least 4 vCPUs and 32 GB Memory
-
An empty "rapidfort" database in the database cluster or database server
-
Read and Write access to the RapidFort platform host
-
Review networking verify connectivity between the RapidFort platform host and the MySQL database (e.g. netcat to host/port, connect with a MySQL client) before RapidFort deployment
-
Customers are responsible for managing database backup, disaster recovery, and database monitoring.
RapidFort Deployment
Prerequisites
- Kubernetes Cluster is available as documented here
- MySQL database is created and the following is available (AWS RDS example)
- MySQL Host
- MySQL DB Username
- MySQL DB Password
- MySQL DB Port
- MySQL DB name (e.g. "rapidfort")
- Check Connectivity from RapidFort Host / Cluster. DO NOT PROCEED WITHOUT CONNECTIVITY
timeout 30 nc -vz DB_URL 3306
mysql -u admin -P 3306 -p -h DB_URL
Deployment Steps
1. Clone the RapidFort Big Bang Helm Chart
git clone https://repo1.dso.mil/big-bang/apps/third-party/rapidfort.git
2. Update the rapidfort/chart/values.yaml with the MySQL details
vi rapidfort/chart/values.yaml
Update the "global" section with the connectivity details
global:
db:
auth:
host: "<RDS HOST ADDRESS>"
username: "<RDS Username>"
password: "<RDS PASSWORD>"
port: "<RDS PORT>"
Update the "mysql" section to disable default local MySQL pod and to seed the Rapidfort database
mysql:
enabled: false
seedDatabase: true
This only covers the external DB settings. Other values need to be updated for S3, RapidFort platform domain, RapidFort admin user, istio etc.
3. Install the RapidFort Big Bang Helm chart with external MySQL
helm upgrade --install rapidfort . -n rapidfort
4. Check the RapidFort pods come up, then follow the usual steps to sign in to the UI and create a license request.
kubernetes get pods -n rapidfort