Deploy the gke-pvm-killer helm chart on Rancher
TypeScriptDeploying a Helm chart on a Rancher-managed Kubernetes cluster involves several steps. First, you need to have a Rancher server running and a Rancher-managed Kubernetes cluster available. The following Pulumi TypeScript program demonstrates how to deploy the
gke-pvm-killer
Helm chart onto a Rancher-managed Google Kubernetes Engine (GKE) cluster using Pulumi's Rancher2 provider.Before running this Pulumi program, make sure you have the following prerequisites met:
- Pulumi CLI installed and configured.
- Access to a Rancher Server with necessary permissions to manage resources.
- The Rancher API URL and a Rancher API token available (these will be used to authenticate Pulumi with your Rancher server).
- A Kubernetes cluster managed by Rancher, with its
clusterId
known.
Now, let's go through the steps expressed in the code:
- We'll import the necessary packages from Pulumi, including the Rancher2 provider.
- We'll use the
rancher2.CatalogV2
resource to add a Helm chart repository to Rancher. - Then, we'll deploy the
gke-pvm-killer
Helm chart using therancher2.AppV2
resource, which represents a Helm chart deployment in Rancher.
Here's the TypeScript program:
import * as pulumi from "@pulumi/pulumi"; import * as rancher2 from "@pulumi/rancher2"; // Replace the placeholders with your Rancher API URL and the token. const rancherApiUrl = "https://your-rancher-server/v3"; const rancherBearerToken = "token-xxxxx"; // Create a new Rancher2 provider instance. const rancherProvider = new rancher2.Provider("rancher", { apiUrl: rancherApiUrl, tokenKey: rancherBearerToken, }); // Step 1: Adding the Helm chart repository to Rancher. const helmRepo = new rancher2.CatalogV2("gke-pvm-killer-repo", { clusterId: "c-xxxxx", // Replace with your actual cluster ID. url: "https://helm-repo-url-containing-gke-pvm-killer", // Replace with the actual Helm repo URL. // Catalog definition here ... }, { provider: rancherProvider }); // Step 2: Deploying the `gke-pvm-killer` Helm chart onto the Rancher-managed GKE cluster. const helmChart = new rancher2.AppV2("gke-pvm-killer-app", { clusterId: "c-xxxxx", // Replace with your actual cluster ID. namespace: "default", repoName: helmRepo.name, chartName: "gke-pvm-killer", chartVersion: "1.0.0", // Specify the chart version you wish to deploy. // Chart values and other configuration... }, { provider: rancherProvider }); // Export the Helm chart deployment details. export const helmAppName = helmChart.name; export const helmAppNamespace = helmChart.namespace;
In this program, don't forget to replace the placeholder values with your actual Rancher API URL, token, cluster ID, and the URL of the Helm repository that contains the
gke-pvm-killer
chart.Once you run this Pulumi program, it will perform the following actions:
- Authenticate with your Rancher server using the Rancher2 provider.
- Add the specified Helm repository to your Rancher server.
- Deploy the
gke-pvm-killer
Helm chart to the specified namespace in your GKE cluster managed by Rancher.
Make sure to fill in the
chartVersion
with the version of thegke-pvm-killer
chart you wish to deploy. You can also include additional configuration for the Helm chart deployment by settingvalues
property in therancher2.AppV2
resource; these values would be specific to thegke-pvm-killer
chart.This program can be extended or modified to better fit your needs, e.g., setting up monitoring, alerting, or other Rancher resources.
To apply this Pulumi program, save the code in a file with a
.ts
extension, and use Pulumi CLI commandspulumi up
to create or update the infrastructure, andpulumi destroy
to tear it down when it's no longer needed.