Deploy the rabbitmq-helm-chart helm chart on Rancher
TypeScriptTo deploy a Helm chart on a Rancher-managed Kubernetes cluster using Pulumi, you will need to use the
rancher2
Pulumi provider. This provider allows you to interact with Rancher resources directly, including creating a new Kubernetes cluster and deploying applications using Helm charts.The following TypeScript program demonstrates how to deploy the
rabbitmq-helm-chart
on Rancher. This will involve a few high-level steps:- Ensure that you have a Rancher-managed Kubernetes cluster up and running. For simplicity, this program assumes that the cluster already exists, and you have the necessary access details for it.
- Use the
CatalogV2
resource from therancher2
package to add the Helm chart repository that contains therabbitmq
chart. - Deploy the Helm chart to the cluster using the
AppV2
resource.
Before you run this Pulumi program, make sure you have the Rancher2 provider set up and configured with the necessary credentials for your Rancher server.
Here's the detailed program:
import * as rancher2 from "@pulumi/rancher2"; // Step 1: The cluster should already be set up in Rancher. Retrieve the cluster ID. const clusterId = "your-cluster-id"; // Step 2: Add the Helm chart repository that contains RabbitMQ to Rancher. const rabbitmqRepo = new rancher2.CatalogV2("rabbitmq-repo", { clusterId: clusterId, url: "https://charts.bitnami.com/bitnami", // The repository containing the RabbitMQ chart. // Additional details like labels, annotations, and namespace can be specified if needed. }); // Step 3: Deploy the RabbitMQ Helm chart using AppV2 resource. const rabbitmqApp = new rancher2.AppV2("rabbitmq-app", { clusterId: clusterId, repoName: rabbitmqRepo.name, chartName: "rabbitmq", // Name of the chart within the repository. namespace: "default", // Specify the namespace where the app should be deployed. values: ` ## Probes configuration livenessProbe: enabled: true initialDelaySeconds: 120 timeoutSeconds: 5 failureThreshold: 6 readinessProbe: enabled: true initialDelaySeconds: 10 timeoutSeconds: 5 periodSeconds: 5 `, // You can define more custom values according to your requirements. // For example, if you need to define resources, replicas, etc. }); // Export the name of the cluster and the app as stack outputs. export const clusterName = clusterId; export const appName = rabbitmqApp.name;
This program does the following:
- Sets up a connection to an existing cluster with
clusterId
. Replace"your-cluster-id"
with your actual Rancher cluster ID. - Adds the Helm repository holding the RabbitMQ chart to Rancher.
- Deploys the
rabbitmq
Helm chart to thedefault
namespace on your Rancher-managed cluster. It configures probes for the RabbitMQ deployment using thevalues
property, which accepts a raw YAML configuration string.
Make sure to customize the
values
field with the configuration options appropriate for your use case. You can find the available configuration options on the official Bitnami RabbitMQ Helm chart documentation.To run the Pulumi program, you need to have:
- Pulumi CLI installed.
- Access to the Rancher server with permissions to deploy applications.
- The cluster ID of the Rancher-managed Kubernetes cluster you want to deploy to.
Remember to configure Pulumi to use your Rancher credentials before running the program using
pulumi config set
commands for the necessary keys.