OvalEdge App Deployment using Helm Chart

This article provides step-by-step instructions to deploy the OvalEdge application on a Kubernetes cluster using Helm charts.

Software Requirements

  • Kubectl CLI – Install and configure to connect to the Kubernetes cluster.

  • Helm – Install Helm to use the Helm chart package provided by the OvalEdge team.

  • Helm Chart – A collection of YAML templates that define Kubernetes resources (pods, services, deployments, etc.).

Helm uses a packaging format called charts, which is a collection of YAML templates describing Kubernetes resources.

Prerequisites

Kubernetes Cluster Access

  • Admin access to the target Kubernetes cluster (e.g., EKS, On-Prem).

  • Proper kubeconfig context configured.

Helm Chart Package

  • Obtain the Helm chart package from the OvalEdge team.

  • Optionally, store it in your organization’s GitHub or Bitbucket repository.

Database Requirements

  • Pre-configured AWS RDS or Azure Database for MySQL (v8.x).

  • Required base schemas and tables loaded.

Elasticsearch Configuration

  • If using a VM: follow the Elasticsearch on Linux VM guide.

  • If using containers: follow the Elasticsearch container setup guide.

EFS Configuration

  • If using EFS, refer to the OvalEdge EFS integration guide for volume mount setup.

Helm Chart Configuration

  1. Clone or download the Helm chart repository.

  2. Extract the OvalEdge Helm chart package and open it in an IDE (e.g., Visual Studio Code).

  3. Update the values.yaml file with custom settings.

Autoscaling Configuration

Update the following parameters based on cluster size and workload requirements:

jobPodReplicaCount: <number-of-job-pods>
jobPodMaximumReplicaCount: <max-job-pods>
userPodReplicaCount: <number-of-ui-pods>
userPodMaximumReplicaCount: <max-ui-pods>

Docker Image Tag

tag: <image-tag>   # Provided by OvalEdge

Database Configuration

db:
  endpoint: <db-endpoint>
  username: <db-username>
  password: <db-password>   # Use Kubernetes secrets for production

Elasticsearch Configuration

elasticsearch:
  host: <es-host>
  username: <es-username>
  password: <es-password>

Tip: Use Kubernetes secrets to store credentials securely.

Other Configurations

Ensure the following YAML templates are reviewed and aligned with your environment:

  • ui-deployment.yaml

  • job-deployment.yaml

  • ConfigMaps and Secrets (if applicable)

  • Ingress or LoadBalancer settings

Deploy OvalEdge

  1. Open a terminal with kubectl and helm installed.

  2. Connect to the Kubernetes cluster:

    aws eks update-kubeconfig --name <cluster-name> --region <region>
  3. Create a namespace (Optional):

    kubectl create namespace <namespace-name>

    Note: For multiple environments (e.g., dev, test, prod), create separate namespaces and deploy Helm charts accordingly.

  4. Install AWS CLI (if not already installed):

    curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
    unzip awscliv2.zip
    sudo ./aws/install

    Configure AWS credentials with Access Key and Secret Key.

  5. Install the Helm chart:

    helm install <release-name> -f values.yaml -n <namespace-name> .
  6. Verify the deployment:

    kubectl get pods -n <namespace-name>
    kubectl get svc -n <namespace-name>

    Look for the LoadBalancer or Ingress external URL (e.g., <random-string>.<region>.elb.amazonaws.com:8080).

  7. Use the URL to open the OvalEdge license activation page.

  8. Provide the external IP to access the OvalEdge application.

Post-Installation Steps

DNS & SSL Configuration

  • Map the LoadBalancer URL to a DNS record (e.g., ovaledge.company.com) in Route53 or your DNS provider.

  • Configure SSL certificates using:

Helm Upgrade & Uninstall Commands

  • Upgrade:

    helm upgrade <release-name> -f values.yaml
  • Uninstall:

    helm uninstall <release-name> -n <namespace-name>

Additional Recommendations

  • Set resource limits and requests in values.yaml.

  • Enable liveness and readiness probes for health checks.


Copyright © 2025, OvalEdge LLC, Peachtree Corners, GA, USA.

Last updated

Was this helpful?