Deploy the ibm-sccm helm chart on Kubernetes
TypeScriptDeploying an IBM SCCM (Software Configuration and Change Management) Helm chart on Kubernetes can be achieved with Pulumi through the use of the
kubernetes.helm.v3.Chart
resource. This functionality provided by Pulumi allows you to deploy any Helm chart into a Kubernetes cluster, making Helm's catalog of applications available for easy deployment.Below, you’ll find a Pulumi program written in TypeScript that deploys the ibm-sccm Helm chart to an existing Kubernetes cluster. The program assumes that you have already set up Pulumi with access to the desired Kubernetes cluster, and that
kubectl
configured to connect to the same Kubernetes cluster.import * as k8s from "@pulumi/kubernetes"; // Define the settings for the IBM SCCM Helm chart const chartName = "ibm-sccm"; const chartRepo = "https://raw.githubusercontent.com/IBM/charts/master/repo/stable"; const chartVersion = "YOUR_CHART_VERSION"; // Replace with the specific chart version you want to use const releaseName = "my-ibm-sccm-release"; const namespace = "ibm-sccm-namespace"; // Create a namespace for the IBM SCCM Helm chart if it doesn't already exist const ns = new k8s.core.v1.Namespace(namespace, { metadata: { name: namespace, }, }); // Deploy the IBM SCCM Helm chart const ibmSccmChart = new k8s.helm.v3.Chart(releaseName, { chart: chartName, version: chartVersion, namespace: namespace, fetchOpts: { repo: chartRepo, }, }, { dependsOn: [ns] }); export const ibmSccmChartStatus = ibmSccmChart.status;
Here is what each part of the script is doing:
-
Import the Kubernetes package: The
@pulumi/kubernetes
package is imported to interact with Kubernetes resources. -
Configuration: Set up some constants at the beginning of the script, which specify the Helm chart details such as its name, repository URL, and version.
-
Namespace creation: Before deploying the chart, a Kubernetes namespace is created. This allows for logical separation within the cluster, and the chart will be deployed within this namespace.
-
Helm chart deployment: The
kubernetes.helm.v3.Chart
resource is then used to deploy the IBM SCCM Helm chart. You specify the details of the chart such as the repository URL and version. ThedependsOn
option is provided to ensure the namespace is created before the Helm chart is deployed. -
Export: Finally, the status of the Helm chart is exported. This allows you to get feedback about the deployment after running the Pulumi program.
Remember to replace
YOUR_CHART_VERSION
with the version number of the Helm chart that you want to deploy.To execute this Pulumi program, you would:
- Save the script to a file named
index.ts
. - Run
pulumi up
in the same directory as the file. Pulumi would perform the diffing, show you the planned changes, and prompt you for an approval before making those changes to your Kubernetes cluster.
-