Installing DevOps Velocity on Azure Kubernetes Service

You can install HCL DevOps Velocity (Velocity) by using Azure Kubernetes Service (AKS) on Azure Cloud.

Before you begin

You must have completed the following tasks:
  • Completed the tasks provided in the Installation prerequisites section. See Installation prerequisites.
  • Scanned for any security vulnerabilities in the installation environment, if you have not done so already.
  • Ran the following command in the folder that contains the installation file, if you are using Linux or macOS computers:

    sudo chmod +x <installation_file_name>

About this task

You must first run the downloaded installation file for your platform to generate a Helm chart. You need to provide your credentials and the path where you want to install Velocity, along with an encryption key. You must also provide the hostname and port of the computer that you want to use to access the web User Interface (UI) of Velocity.

If you do not use the defaults, you must store the custom values that you provide because the same values are required to be provided when you want to upgrade to a later version of Velocity.

You must then use the generated Helm chart to install Velocity in the Kubernetes cluster.

Procedure

  1. Perform the following steps to generate a Helm chart:
    1. Navigate to the location where the installation file is uploaded and run the file.
      Note:

      In Velocity 5.2.0 and 5.2.1, the MCP server is a tech preview feature and is disabled by default. To enable it during installation, you must pass the betaFeature=mcp parameter. This process ensures that the deployment and service template for MCP server is included when the Helm chart is generated by the installer. In Velocity 5.2.3 and later, in the default configuration.

      For example:

      ./velocity_installation_file --betaFeature=mcp
      
      The following prompt is displayed:
      Please enter your DevOps Velocity access key
    2. Type the access key, and then press Enter.
      The license agreement is displayed.
    3. Read the agreement and enter Y to accept the license agreement.
      The following prompt is displayed:
      Enter your encryption key or leave blank to use the default. Key must be at least 8 characters
    4. Perform any of the following actions to specify the encryption key:
      Note:
      The encryption key must be at least 8 characters. You must save the encryption key to use when you want to upgrade to a later version.
      • Type an encryption key if you do not want to use the default key, and then press Enter.
      • To use the default encryption key, press Enter.
      The following prompt is displayed:
       Enter the location where the DevOps Velocity files will be installed
    5. Select Helm from the list, and then press Enter.
      The following prompt is displayed:
      Enter the location where the DevOps Velocity files will be installed
    6. Perform any of the following actions to specify the location to save the helm chart that will be generated:
      • To save the Helm chart in a different location, type the location, and then press Enter.

        For example, C:\D

      • To save the Helm chart in the default location, press Enter.
        Note:
        The default location will be the location where the installation file is present.
      Note:
      The Helm chart and other configuration files are copied to the specified directory in a subdirectory named product_version_number.
      The following prompt is displayed:
      Enter the initial password for the admin user
    7. Type the password, and then press Enter. You must save the password for later use.
      The following prompt is displayed:
      What version of MongoDB are you using? 
    8. Select the version of MongoDB that you want to use as the database for the Velocity installation.
      The following prompt is displayed:
      Please enter the hostname where you will run DevOps Velocity
    9. Type the hostname or the Ingress controller's external IP address.
      Note:
      You cannot use localhost as the hostname. If you have not mapped your Ingress controller external IP address to your domain name, then to use the Ingress controller external IP address directly, you can enter the Ingress controller external IP address in the following format:<ingress_controller_external_IP>.nip.io.
      The following prompt is displayed:
      Enter the desired port where DevOps Velocity will run
    10. Perform any of the following actions to specify the port number for Web UI:
      • Type the port number, and then press Enter.
      • To use the default port number, press Enter.
        Note:
        The default port number is 443.
      (Applicable for offline installation file only) The following prompt is displayed:
      Enter the URL of a remote docker registry to push images, otherwise leave blank
    11. Perform any of the following actions:
      • If you have used the online installation file, a Helm chart customized for your environment is generated and saved in the location specified in step 1.f, and you go to step 2 to install the generated Helm chart.
        Note:
        You can edit the values.yaml file to modify the Helm chart.
      • If you have used the offline installation file go to step 1.l.
    12. (Applicable for offline installation file only) Perform any of the following actions:
      • Enter the URL of the remote Docker registry to push the images and store them in a remote registry, and then press Enter.
      • To store the images on the local computer, press Enter.
      The following prompt is displayed:
      Enter a username to authenticate to the remote docker registry with (leave blank to omit credentials or if docker client already authenticated against remote registry)
    13. (Applicable for offline installation file only) Perform any of the following actions to authenticate the remote Docker registry:
      • To authenticate the remote Docker registry, type the username, and then press Enter.
        The following prompt is displayed:
        Enter a password to authenticate to the remote docker registry with
      • To exclude credentials or if the Docker client is already authenticated, press Enter and go to step 2.
    14. (Applicable for offline installation file only) Type the password, and then press Enter.
      A Helm chart customized for your environment is generated and saved in the location specified in step 1.f.
      Notes:
      • You can edit the values.yaml file to modify the Helm chart.
      • If you are installing Velocity 5.1.7 or earlier, you must update the Bitnami images repository location in the templates after generating Helm charts by using the online installation file. Extract the tar file and change the value for the accImageName tag in the following files under the templates directory:
        File Action
        accelerate-rabbitmq-statefulset.yaml Change bitnami/rabbitmq to bitnamilegacy/rabbitmq in spec/template/spec/containers/image
        accelerate-router-deployment.yaml Change bitnami/nginx to bitnamilegacy/nginx in spec/template/spec/containers/image
        accelerate-initial-admin-password-generator.yaml Change bitnami/kubectl to bitnamilegacy/kubectl in spec/template/spec/containers/image
        accelerate-jwt-key-generator.yaml Change bitnami/kubectl to bitnamilegacy/kubectl in spec/template/spec/containers/image
  2. Perform the following steps to install the Helm chart on the machine where you have generated the Helm chart and configured the Azure CLI:
    1. Sign in to Azure.
      Run the following command:
      az login
    2. Set the Azure subscription that contains the AKS cluster.
      Run the following command:
      az account set --subscription <subscription_name_or_id>
    3. Configure kubectl to access the AKS cluster.
      Run the following command:
      az aks get-credentials \
      --resource-group <resource_group_name> \
      --name <aks_cluster_name>
                                  
    4. Optional: Verify that you are connected to the AKS cluster.
      Run the following commands:
      kubectl config current-context
      kubectl get nodes
    5. Run the following command to complete the installation of Velocity:
      
           helm install velocity -n <custom_namespace_name>\
           ./velocity-<version>-helm.tgz --set license=accept\
           -- set url.domain= <domain_name or I.P address>\
           -- set access.key=<access_key>\
           -- set mongo.url=<mongodb url>\
           -- set secret.tls=<tls_secrete_name>\
           -- loglevel= <log_level_value>
          

      The sample MongoDB URL is mongodb://<username>:<password>@<service_name>:<port>/<database_name>

      The following table describes the parameters in the helm install command:
      Table 1. Helm parameters
      Parameter Variable Description Required
      helm chart name <version> Version of the product. For example, 5.0.2 Yes
      url.domain <domain_name or I.P address> Domain name mapped to Ingress Controller external IP address or Ingress Controller external IP address. For example,104.198.205.71 or my-velocity.hcl.com Yes
      access.key <access_key> Product access key obtained from Fix Central. For example uackjcbdciydskbvdwlinm2o223en4n4nlk Yes
      mongo.url <username> User ID to authenticate with the MongoDB database. For example, mymongo. Yes
      <password> Password to authenticate with the MongoDB database. For example, mongopassword. Yes
      <port> Port number for the MongoDB database. Use the value shown in the example, which is 27017. Yes
      <service_name> MongoDB URL or the MongoDB service name if it is running within the Kubernetes cluster. For example, velocity-mongo. Yes
      <database_name> Name of the database to be used by Velocity. For example, velocity. Yes
      secret.tls <tls_secrete_name> Name of the TLS secret created during the configuration of the SSL certificate. For example, velocity-custom-tls Yes
      loglevel <log_level_value> Level of Log4j messages to display in the log file. Possible values are ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF. The default value is ALL. Optional

      After running the command, Kubernetes displays the installation status.

    6. Wait for a few minutes and run the kubectl get pods command to see the status of the pods.
      Installation is completed when the status of all pods are running.

Results

You have successfully installed Velocity on AKS.

What to do next

You can access the Web UI and log in to Velocity. See Logging in to the DevOps Velocity.