Using an External MySQL

Use an alternative MySQL instance to what is shipped with RapidFort.

Introduction

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

  1. Kubernetes Cluster is available as documented here
  2. MySQL database is created and the following is available (AWS RDS example)
    1. MySQL Host
    2. MySQL DB Username
    3. MySQL DB Password
    4. MySQL DB Port
    5. MySQL DB name (e.g. "rapidfort")
  3. 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