Deployment

The deployment process follows a sequence that builds upon previous steps, ensuring each component is appropriately configured before proceeding to the next phase.

1: Environment Preparation

Procedure

  1. Create a dedicated namespace for MaxAI to provide resource isolation and easier management. Run the following command to establish a dedicated environment:
    kubectl create namespace maxai
  2. Run the following command to configure the kubectl context to use the MaxAI namespace by default. It prevents accidental deployment of resources to the wrong namespace.
    kubectl config set-context --current --namespace=maxai

2: Customizing Configurations

Procedure

  1. Create a custom values file by copying the default values.yaml file and modifying it for your specific environment.
  2. Name this file something descriptive like maxai-production-values.yaml to clearly identify its purpose.

3: Configuring the values.yaml File

About this task

Before installing the Helm charts, configure the downloaded values.yaml file as per your environment settings:

Procedure

  1. From the deployment bundle, open the values.yaml file.
  2. Configure the following parameters as per your environment setup:
    Note: Some parameters should not be modified, some parameters do not need to be configured, and some parameters need to be configured. The details for the parameters are mentioned in the following table:
    Parameter Name Description and Example Values
    CONFIG_SOURNCE Change the value from platform to self.
    configMapsEnabled Change the value from false to true.

4: Configuring the configmap_standalone.yaml File

Procedure

  1. In the Helm chart. navigate to the templates folder.
  2. Open the configmap_standalone.yaml file.
  3. Provide appropriate values for the following variables:
    • db details
    • partitions

5: Configuring the configmap_partition1.yaml and configmap_partition2.yaml Files

Procedure

  1. In the Helm chart. navigate to the templates folder.
  2. Open the configmap_partition1.yaml file.
  3. Provide appropriate values for the following variables:
    • MAX_TOKEN_PER_USER: For unlimited tokens, provide the value 0. There is a daily limit and once the limit is exhausted, the system resets the limit on the next day.
    • LLM_KEY: Enter the OpenAI key. For the OpenAI key, contact HCL MaxAI Support.

6: Installing Helm Charts

Procedure

  1. Navigate to the directory containing the MaxAI chart.
  2. Execute the following Helm installation command:
    helm install genai ./hclgenai-hclnow -f maxai-production-values.yaml --namespace maxai
    • The installation name genai can be customized based on your naming conventions.
    • The directory name hclgenai-hclnow has to be the directory name where your deployment bundle is present.
    • The maxai-production-values.yaml is the values.yaml file, customized for your environment.
    • The namespace maxai is the one you have created for deploying the MaxAI suite of applications.
    Run the following command to monitor the installation progress and to watch pods start up in real-time:
    kubectl get pods -w

    The deployment process typically takes several minutes as containers are pulled and started.

    Change the permission for the shared mount point to genaiuser with uid and gid as 5002.
    chown 5002:5002 /mnt/hclgenai_share

7: Initial Verification

Procedure

  1. If the installation is successful, all the pods will be up and running successfully.
  2. You can also check service status to ensure networking is configured correctly and that load balancers or ingress controllers have been properly provisioned. Run the following command:
    kubectl get services