Skip to main content

Helm Deployment

Helm is a package manager for Kubernetes that simplifies the deployment, configuration, and management of Kubernetes applications. This guide introduces how to deploy the TDengine IDMP service on Kubernetes using a Helm Chart.

Prerequisites

  1. Install Kubernetes v1.24 or later.
  2. Install Helm 3.
  3. (Optional) To persist data, configure a PersistentVolume.

Install Helm

Run the following command to install Helm:

curl -fsSL -o get_helm.sh \
https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
chmod +x get_helm.sh
./get_helm.sh

Obtain the TDengine IDMP Helm chart

git clone https://github.com/taosdata/tdengine-idmp-deployment.git
cd tdengine-idmp-deployment/helm

Install TDengine IDMP

info

To install TDengine TSDB-Enterprise, refer to the following document: Deploy TDengine with Helm

  1. Install TDengine IDMP with the Helm chart:

    cd tdengine-idmp-deployment/helm
    helm install tdengine-idmp .

    To use custom settings, you can specify a values file:

    helm install tdengine-idmp . -f my-values.yaml

    or command-line parameters:

    helm install tdengine-idmp . --set key=value

The Helm parameters used to deploy TDengine IDMP are described as follows: You can set these parameters on the command line or in a values file.

ParameterDescriptionDefault
replicaCountNumber of replicas1
image.repositoryImage repositorytdengine/idmp-ee
image.tagImage taglatest
image.pullPolicyImage pull policyIfNotPresent
service.typeKubernetes service typeClusterIP
service.portService port6042
resourcesResource requests and limits{}
persistence.enabledWhether persistence is enabledfalse
persistence.sizeSize of persistent volume2Gi
persistence.storageClassPersistent volume class""
nodeSelectorNode selector for pod allocation{}
tolerationsTolerance for pod allocation[]
affinityAffinity for pod allocation{}
  1. Access the service

    • ClusterIP (Default): Forward the port as follows:
    kubectl port-forward svc/tdengine-idmp 6042:6042 --address 0.0.0.0

    Then access localhost:6042 in a web browser.

    • NodePort:

      1. Obtain the node port and IP:

        kubectl get svc tdengine-idmp
        kubectl get nodes -o wide
      2. Access https://<ip>:<nodeport> in a browser.

    • LoadBalancer: Access the service through the external IP address provided by your cloud service provider.

  2. To configure persistent storage, add the following configuration to values.yml:

    persistence:
    enabled: true
    size: 2Gi

    Ensure that you have configured a PersistentVolume.

  3. Run the following command to uninstall TDengine IDMP:

    helm uninstall tdengine-idmp