Installation prerequisites

You must complete certain tasks before you install HCL DevOps Velocity (Velocity).

You must have completed the following tasks before you install Velocity on Kubernetes:

Creation of a namespace

Ensure that you have created a namespace in the Kubernetes cluster where you install Velocity.

Run the following command to create a namespace in your Kubernetes cluster:
kubectl create namespace <custom_namespace_name>

Installation of MongoDB

You can install MongoDB using different methods, depending on your environment and requirements. You should consider installing MongoDB on a standalone virtual machine (VM). This method avoids the complexity of managing Persistent Volume Claims (PVCs) and their reclaim policies in a Kubernetes cluster, which typically requires a skilled administrator. Alternatively, if you are installing within the Kubernetes cluster, you can deploy MongoDB as a StatefulSet. While this option is supported, the standalone VM setup is the better choice if you want to avoid the added complexity of container orchestration.

Installing MongoDB on a Standalone VM

  1. Download MongoDB: Select the appropriate version of MongoDB for your operating system. For more information, refer to the MongoDB download page page.

  2. Install MongoDB: Follow the installation instructions based on the operating system of your VM, refer to MongoDB installation documentation.

  3. Configure MongoDB: Configure MongoDB.
    Note: Configuring MongoDB can include enabling authentication, setting up replication (if needed), and adjusting network settings.
  4. Start MongoDB: Start the MongoDB service. Ensure that it is set to start automatically when the system boots.

  5. Verify Installation: Open the MongoDB shell to verify that the installation is successful and MongoDB is running correctly.

Installing MongoDB on Kubernetes cluster (StatefulSet)

If you prefer to deploy MongoDB within a Kubernetes cluster, you can use a StatefulSet to ensure persistent storage and stable network identities. The Bitnami MongoDB Helm chart provides a simple and reliable way to deploy MongoDB on Kubernetes. Follow these steps to install MongoDB by using the Bitnami chart:

  1. Ensure that Helm is installed on your system. For installation instructions, refer to Helm documentation.

  2. Add the Bitnami Helm Repository:

    helm repo add bitnami https://charts.bitnami.com/bitnami
    helm repo update
    
  3. Install MongoDB:

    helm install <helm_name> -n <custom_namespace_name> \
      --version <helm_chart_version> \
      --set persistence.enabled=true \
      --set image.repository=bitnamilegacy/mongodb \
      --set image.tag=<mongo_image_tag> \
      --set auth.rootPassword=<password> \
      bitnami/mongodb
     
    Update the above command to change the following Helm parameters based on your requirement:
    • <helm_name>: Enter any name that you want to give for MongoDB installation.
    • <custom_namespace_name>: Enter the name of the Namespace where you want to install MongoDB.
    • <helm_chart_version>: Enter the value based on the chart version supported for the version of MongoDB you want to install.
    • <mongo_image_tag>: Enter the value based on the version of MongoDB you want to install.
    • <password>: Enter the password that you want to set for the root user in MongoDB.
    • <storage_class_name>: Enter the storage class name for the persistence volume.

    This command installs MongoDB as a StatefulSet with replication enabled.

  4. Access MongoDB: Once the MongoDB pods are running, you can connect to MongoDB either using kubectl or by exposing the MongoDB service to external clients.

For more detailed installation and configuration instructions, refer to the Bitnami documentation.

Considerations

  • Storage: Ensure that persistent volumes (PVs) are correctly configured for MongoDB in both standalone VM and Kubernetes environments to prevent data loss during failures.

  • Backup: Implement backup strategies to safeguard data in both standalone VM and Kubernetes setups.

  • Security: Enable authentication and configure network access controls to secure MongoDB instances.

Configuration of custom Secure Sockets Layer (SSL) certificate

Ensure that you have configured a custom SSL certificate for the ingress controller external IP address or domain name to secure the data exchanged between browser and the Velocity application. For detailed instructions, see Configuring a custom Secure Sockets Layer (SSL) certificate.