Deploying HCL Compass on Azure Kubernetes Service

Now that you have created and downloaded your HCL Compass helm chart from HCL SoFy or from Harbor (hclcr.io), this quick start guide shows you deploy HCL Compass on Azure Kubernetes Service (AKS).

Before you begin

Before you can deploy HCL Compass on Azure Kubernetes Service, you must first:
  • Have access to your Microsoft Azure account.
  • Learn how to to use Azure Kubernetes Service (AKS) using quickstarts, tutorials, and samples in AKS.

About this task

This task will help you perform the following actions:
  • Create an AKS cluster using Azure Cloud Shell.
  • Prepare the AKS cluster to install the HCL Compass Helm Chart.
  • Install an HCL Compass Helm Chart, get an external IP address to access the Solution Console and link to the home page of the HCL Compass product.

Procedure

  1. Create an AKS cluster using Azure Cloud Shell
    1. Launch Azure Cloud Shell and verify that Microsoft.OperationsManagement and Microsoft.OperationalInsights are registered on your subscription:
      https://shell.azure.com/ bash az provider show -n Microsoft.OperationsManagement -o table az provider show -n Microsoft.OperationalInsights -o table
    2. Create a resource group:
      az group create --name myResourceGroup --location eastus
    3. Create the AKS cluster:
      az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 1 --enable-addons monitoring --generate-ssh-keys
  2. Prepare the AKS cluster for installation of the HCL Compass solution.
    1. Go to the Azure Cloud Shell of your Microsoft Azure account.
    2. Install Cert-Manager in your cluster. This script can be used to perform the Cert-Manager installation, or to exampline to commands required: https://hclcr.io/files/sofy/scripts/cert-manager-setup.sh.
      $ https://hclcr.io/files/sofy/scripts/cert-manager-setup.sh
      $ chmod +x cert-manager-setup.sh
      $ ./cert-manager-setup.sh
    3. Install Emissary Ingress Custom Resource Definitions (CRDs).
      The below commands install Emissary-ingress CRDs in the emissary-system namespace.
      kubectl apply -f https://app.getambassador.io/yaml/emissary/2.2.2/emissary-crds.yaml
      kubectl wait --timeout=90s --for=condition=available deployment emissary-apiext -n emissary-system
    4. Optionally, create a namespace for your solution:
      kubectl create namespace [name]
    5. Create a pull secret in the solution namespace:
      kubectl create secret docker-registry [secret-name] --docker-server=hclcr.io --docker-username=[sofy userid] --docker-password=[CLI secret] --namespace=[solution namespace]

      To set your Harbor CLI secret, login to hclcr.io with your HCL/SoFy credentials, selecting LOGIN VIA OIDC PROVIDER. In the top right corner, click the dropdown for your username, open your User Profile and enter a secret string of your choice. Use this string as the CLI secret in the command above.

  3. Use Helm to install the HCL Compass solution chart.
    1. The HCL Compass solution chart can be downloaded from the SoFy Solution URL page to your local file system. Click on DEPLOY in the drop down list at the top right corner of the solution detail page and select Deploy Locally (Download) to download to your local file system as described in Getting started in HCL Compass on SoFy .
    2. Upload the solution chart to your cloud shell by clicking the Upload/Download files icon in the top left of the Azure Cloud Shell terminal window.
    3. Install the solution chart using the helm install command:
            $ helm install [release-name] [file-name] \ 
                      --namespace [solution namespace] \               
                      --set global.hclImagePullSecret=[secret-name] \ 
                      --set hclFlexnetURL=[flexnet-url] \ 
                      --set hclFlexnetID=[flexnet-id]
      release-name
      A release name that you choose
      file-name
      The HCL Compass solution chart in .tgz file format.
      solution namespace
      The namespace that you created in step 2c.
      secret-name
      The secret name that you created in step 2d.
      flexnet-url
      Your HCL FlexNet license server URL.
      flexnet-id
      Your HCL FlexNet license ID.
    4. Installing the HCL Compass Helm Chart that is installed with this solution chart creates the three following services:
      • hcl-compass service for RESTful applications with a two database connection set.
      • hcl-compass-search-app1 service for the Search application for the first database connection set.
      • hcl-compass-search-app2 service for the Search application for the second database connection set.
    Note: Note that the HCL Compass solution Helm Chart sets the persistent volume by default. If your Kubernetes environment does not provide default StoreageClass, then you must create your own default StorageClass or disable the persistent volume. If you do not, the HCL Compass pods cannot start. For more information, see HCL Compass Persistent Volumes.
  4. Access the Solution Console and link to the HCL Compass home page.
    1. Run kubectl get pods to make sure that all pods are in the running state and READY set to 1/1. It may take 3-5 minutes for all of the pods to reach the running state and READY set to 1/1.
      $ kubectl get pods –-namespace [namespace_name]
    2. Run kubectl get services to get EXTERNAL-IP address from the LoadBalancer service type.
      $ kubectl get services –-namespace [namespace_name]
    3. Start the Solution Console app in your browser by using https://sofy-console.EXTERNAL-IP.nip.io/. You will see warnings about the certificate that is used in the solution; it is safe to accept these and proceed to the Solution Console application. Log in to the application with the default user ID and password. The default user ID is sol-admin and the default password is generated during installation. When deploying in your own environment, the command to display the generated password will be output by the Helm install command. The solution console provides information about all parts of the solution, as well as links to the homepage of the HCL Compass product.
      • Go to the General Information page to see the links to the HCL Compass home page, API Base URLs, and log files for all containers.
      • If you see any issue with pods and services, check the HCL Compass pod log files. The pod may need to be restarted. Deleting the pod will restart the pod.
      • To fix any issues, you can go to the Kubernetes Resources page, and click on Pods. Find the pod for hcl-compass and then delete it. The deleted pod will start again. If the same problem still exists, contact the HCL Compass support team.
    4. When you are finished with your solution, you can use the helm delete command to uninstall it.
      $ helm delete {release-name} --namespace [namespace_name]