Deploy the recommendationservice helm chart on Kubernetes
TypeScriptTo deploy the
recommendationservice
Helm chart on a Kubernetes cluster using Pulumi, you'll first need to have the Kubernetes cluster either already running or created using Pulumi as well. Additionally, you should have Helm installed and configured to manage packages on Kubernetes.For deploying a Helm chart, we will use
@pulumi/kubernetes
library that provides us with the necessary components to interact with Kubernetes resources, including Helm charts.Below is a TypeScript program that demonstrates how you would write a Pulumi program to deploy the
recommendationservice
Helm chart. This assumes that your Kubernetes cluster is already configured andkubeconfig
is set up appropriately to manage the cluster.In the below program, I will be using the
kubernetes.helm.v3.Chart
class to deploy a Helm chart. This Pulumi component represents a Helm chart in a way that models Helm's capabilities closely. It is used to deploy applications packaged in the Helm chart format.import * as k8s from "@pulumi/kubernetes"; // Replace with the actual namespace where you want to deploy your Helm chart. const namespace = "default"; // Helm chart version, you can specify a version or leave it out to get the latest. const chartVersion = "1.0.0"; // Replace with actual chart version. // The values here are specific to the `recommendationservice` Helm chart. // You'll need to replace these with the actual values required by the chart you are deploying. const helmChartValues = { // Example of possible values // serviceType: "ClusterIP", // replicaCount: 3, }; const recommendationserviceChart = new k8s.helm.v3.Chart("recommendationservice", { chart: "recommendationservice", version: chartVersion, namespace: namespace, values: helmChartValues, // Uncomment and specify the repository if the chart is not in the default Helm repo. // repo: "https://charts.example.com/", fetchOpts: { // Set to true to enable verification of the chart before fetching. verify: false, }, }); export const chartName = recommendationserviceChart.metadata.apply(metadata => metadata.name);
In this program:
namespace
is where the chart will be installed.chartVersion
is the version of the Helm chart you want to install.helmChartValues
is an object with configuration values that the chart accepts. This example includes placeholder keys (likeserviceType
andreplicaCount
), and you would need to replace them with actual configuration values that are appropriate for therecommendationservice
chart.recommendationserviceChart
is an instance of a Helm chart resource. It includes the name of the chart, version, namespace, and optionally, custom values.chart
property is the name of the Helm chart you wish to deploy.repo
is the Helm repository that contains the chart, you have to uncomment and set it only if your chart is in a custom repository.fetchOpts.verify
is an optional property that tells Helm whether to verify the chart before fetching it.
Finally, I’ve added an export statement to output the name of the deployed Helm chart. After running
pulumi up
, Pulumi will provide you with the stack outputs which will include the name of the deployed chart.To run this program, make sure you have Pulumi CLI installed and configured for TypeScript. Save the code to a file named
index.ts
, then execute the following commands in the directory where your file is located:$ pulumi up
This will start the deployment process. If you haven't logged into Pulumi CLI or selected a stack, it will prompt you to do so. After confirming the deployment, Pulumi will apply the configuration and the Helm chart will be deployed on your Kubernetes cluster.