Send Feedback
Skip to content

Kubernetes Deployment

This page describes how to deploy KX Dashboards on Kubernetes.

A Helm chart has been provided for deploying KX Dashboards to a Kubernetes cluster.

Prerequisites

To run within Kubernetes there are a number of pre-requisites:

Deploy using Kubernetes Quick Start

To deploy KX Dashboards, complete the following steps:

  1. Create a k8s secret for the kdb license
  2. Generate a KX Downloads Portal bearer token
  3. Add a Helm Chart repository
  4. Create a k8s secret for repo authentication
  5. Configure a Helm chart file
  6. Install KX Dashboards
  7. Access KX Dashboards

Create a k8s secret for the KX license

A valid license is required. The type of license you need depends on whether you are going to integrate KX Dashboards with kdb+ or kdb Insights SDK.

kubectl create secret generic kxi-license --from-file=license=path/to/*.lic

Command detailed:

  • kubectl create secret generic — Creates a generic Kubernetes secret.
  • kxi-license — The name of the secret. This is referenced in the Helm chart file in the Configure a Helm Chart file step.
  • --from-file=license=path/to/*.lic — The path to your license file.

Generate a KX Downloads Portal Bearer Token

The following steps explain how to obtain the KX Downloads Portal credentials required to download the necessary images:

  1. Navigate to the KX Downloads Portal.
  2. Click Login, enter your email address, and click Sign In.
  3. Check your email for a message from noreply@kx.com to complete your login to https://portal.dl.kx.com. You can either:
    • Click the Login link provided in the email, or
    • Copy the verification code from the email and paste it into the login page.
  4. Once logged in, navigate to Token Management: https://portal.dl.kx.com/auth/token.
  5. Click Add New Token.
  6. Copy and securely save the Bearer token — it is only shown once.

Info

If you have completed the trial download process on the KX website, use the bearer token provided in your email.

If you do not have credentials to access the KX Downloads Portal, please contact sales@kx.com.

This bearer token is used in the next step to provide credentials when adding the Helm repo.

Add a Helm Chart repository

In this step you add a Helm chart repository to enable access to the official charts needed to deploy, configure, and manage KX Dashboards consistently across environments.

  1. Enter the following command:

    helm repo add kxi-repo https://portal.dl.kx.com/assets/helm --username <username> --password <password>
    

    Command detailed:

    • helm repo add — The Helm command used to add the repo.
    • --username and --password — The username and bearer token from the previous step.
    • kxi-repo — The local name/alias you assign to this repo. Used when installing charts.
    • https://portal.dl.kx.com/assets/helm — The URL of the KX Downloads Portal repository.

    The following output is displayed: "kxi-repo" has been added to your repositories.

  2. Update your Helm local cache:

    helm repo update
    

    The following output is displayed:

    Hang tight while we grab the latest from your chart repositories...
    ...Successfully got an update from the "kxi-repo" chart repository
    Update Complete. ⎈Happy Helming!⎈
    

Create k8s Secret for Repo Authentication

In this step you create a k8s secret and add it to your Kubernetes cluster. The Kubernetes secret is used to securely store sensitive data (like passwords, keys, or certificates), letting your pods use them at runtime without exposing values directly in configs.

kubectl create secret docker-registry kx-repo-access --docker-username=<username> --docker-password=<password> --docker-server=portal.dl.kx.com

Command detailed:

  • kubectl create secret docker-registry — Creates a docker-registry secret to store authentication credentials.
  • kx-repo-access — The name of the secret being created. This is referenced under imagePullSecrets in the dash-web-devval.yaml created in the next step.
  • --docker-username=<username> — The username you use to login to the KX Downloads Portal.
  • --docker-password=<password> — The bearer token generated in the Generate a bearer token step.
  • --docker-server=portal.dl.kx.com — The name of the Docker registry (the KX Downloads Portal).

The following output is displayed: secret/kx-repo-access created.

Configure a Helm Chart File

The configuration file specifies the license and repo access secret defined in the steps above. This file enables a LoadBalancer, which assigns an IP address so that KX Dashboards can be accessed externally.

Note

If you only want local access, you can remove LoadBalancing by deleting the service.type: LoadBalancer lines from the .yaml configuration below. In this case, to access KX Dashboards you must use port forwarding for local access; see Accessing KX Dashboards Locally.

  1. Copy the following configuration file and save it as dash-web-devval.yaml:

    global:
      image:
        repository: portal.dl.kx.com/
      imagePullSecrets:
        - name: kx-repo-access
      license:
        secretName: kxi-license
        #onDemand: true  # uncomment to use kc.lic
        #type: "k4"      # uncomment to use k4.lic
        asFile: true
      encryption:
        enabled: false
    # set LoadBalancer for all components if required
    service:
      type: LoadBalancer
    
    # Set
    # dash-web:
    #   service:
    #     type: LoadBalancer
    

    File details:

Install KX Dashboards

Use the Helm repo added above to install the dash-web client into your Kubernetes cluster:

helm install dash kxi-repo/dash-web --version="{version}" -f path/to/dash-web-devval.yaml

Command detailed:

  • helm install — The Helm CLI command to install a new release of a chart.
  • dash — The release name, used by Helm to identify this installation.
  • kxi-repo/dash-web:
  • kxi-repo — The alias for the Helm repository added earlier.
  • dash-web — The chart name inside that repo.
  • --version= — The version of KX Dashboards to install, e.g. 2.20.0 (Major.Minor.Patch).
  • -f path/to/dash-web-devval.yaml — The path to the Helm chart values file that overrides the default chart configuration.

Access KX Dashboards

KX Dashboards is accessible using the EXTERNAL-IP address and port 8080, in the format EXTERNAL-IP:8080.

To get the IP address, run:

kubectl get services/dash-web

The output includes the Name, Type, Cluster-IP, External-IP, and Port information.

Accessing KX Dashboards Locally

To access KX Dashboards locally, use port forwarding on the pod running KX Dashboards.

  1. Get the list of services by running:

    kubectl get svc
    
  2. Expose the service port using the [deployment]-dash-web service name:

    kubectl port-forward svc/dash-dash-web 9090:8080
    

    Command detailed:

    • kubectl port-forward — Sets up a tunnel between your local machine and a Kubernetes resource, forwarding traffic from a local port to a port on that resource.
    • svc/dash-dash-web — The service to forward to.
    • 9090:8080 — Port mapping: 9090 is the local port and 8080 is the target port on the Kubernetes service.
  3. Navigate to http://localhost:9090 to Open KX Dashboards.

Install from Local Source Code

You can deploy KX Dashboards (dash-web) into your Kubernetes cluster using a local copy of the Helm chart instead of pulling it from a remote repository. This may be required for testing or in air-gapped environments:

helm install dash ./helm/dash-web -f dash-web-devval.yaml

Command detailed:

  • helm install dash — Instructs Helm to deploy a new chart as dash in Kubernetes.
  • ./helm/dash-web — Points to the chart location on your local filesystem (not from a remote Helm repository).
  • -f dash-web-devval.yaml — Specifies the values file dash-web-devval.yaml.

Next Steps