Deploy the hivemq-platform-operator helm chart on Linode Kubernetes Engine
TypeScriptTo deploy the HiveMQ Platform Operator Helm chart on Linode Kubernetes Engine using Pulumi, you'll use the
kubernetes.helm.v3.Chart
resource from the@pulumi/kubernetes
plugin. This allows you to deploy Helm charts in a Kubernetes cluster.Pre-requisites
Before executing the Pulumi program, ensure the following steps are completed:
- Linode Kubernetes Engine (LKE) cluster is already set up.
- You have
kubectl
configured to connect to your LKE cluster. - Helm chart details for HiveMQ Platform Operator are available.
- Pulumi CLI is installed on your machine.
- You have initialized a Pulumi project in the desired programming language (TypeScript in this case).
Explanation of the Pulumi Program
- Import necessary packages: You'll need to import necessary Pulumi and Kubernetes packages for your Pulumi program.
- Configure Kubernetes Provider: Set up the Kubernetes provider to connect to your LKE cluster.
- Helm Chart Resource: Create an instance of
Chart
from the Pulumi Kubernetes package to deploy the HiveMQ chart.
Here's a TypeScript program that accomplishes deploying the HiveMQ Platform Operator Helm chart:
import * as pulumi from "@pulumi/pulumi"; import * as k8s from "@pulumi/kubernetes"; // Configurations const chartName = "hivemq-platform-operator"; const chartVersion = "x.y.z"; // Replace with the actual chart version const chartRepo = "https://repository-url/"; // Replace with the actual Helm chart repository URL // Instantiate a Kubernetes provider that uses the context of the local kubectl. const provider = new k8s.Provider("lke-k8s", { kubeconfig: process.env.KUBECONFIG, }); // Deploy the HiveMQ Platform Operator using a Helm Chart const hivemqChart = new k8s.helm.v3.Chart(chartName, { // Set the chart, version, and repository chart: chartName, version: chartVersion, fetchOpts:{ repo: chartRepo, }, // Namespace where the chart will be installed namespace: "hivemq-namespace", // Replace with your namespace or remove if using default namespace. }, { provider }); // Export the name of the namespace that HiveMQ was deployed into. export const namespaceName = pulumi.output(hivemqChart.namespace);
This Pulumi program sets up the necessary components to deploy the HiveMQ Platform Operator Helm chart on your LKE cluster.
You will need to replace
x.y.z
with the chart version you intend to deploy andhttps://repository-url/
with the URL of the Helm chart repository hosting HiveMQ. You should also setKUBECONFIG
environment variable with the path of your Kubernetes config file before running the program, or replaceprocess.env.KUBECONFIG
with your actual kubeconfig file content.To run this Pulumi program, you will save the code in a file with a
.ts
extension, for instance,index.ts
. Then, you can use the Pulumi CLI to create and apply the stack using the following commands:pulumi up
to run the program and perform the deployment.
The
pulumi up
command will show you a preview of the resources that Pulumi plans to create or modify. Upon confirmation, Pulumi will go ahead with the deployment and output the names of any Stack Exports defined in the program—in this case, the namespace where the HiveMQ chart is deployed.