Deploy the mssql-linux helm chart on Kubernetes
TypeScriptTo deploy the
mssql-linux
Helm chart on a Kubernetes cluster using Pulumi, you'll need to use the Helm Chart resource from the Pulumi Kubernetes provider. This resource allows you to deploy existing Helm charts from Helm repositories or your local filesystem into your Kubernetes cluster.Below, you will find a Pulumi program written in TypeScript that demonstrates how to use the
Chart
resource to deploy themssql-linux
Helm chart. This assumes that you have a Kubernetes cluster already up and running and that you have configured Pulumi with the necessary Kubernetes context.Here's an overview of what each part of the program does:
-
Import the necessary libraries: We import the
@pulumi/kubernetes
library, which contains the classes and functions needed to interact with Kubernetes resources. -
Create a Helm Chart resource: We instantiate a
Chart
resource provided by the Pulumi Kubernetes provider. TheChart
resource defines the Helm chart we want to deploy. In this case, it'smssql-linux
. We specify the version of the chart and any custom values we want to pass as anInput
to the Helm chart's values file. -
Export outputs (if any): If we need to export any outputs, such as the Kubernetes service endpoint, we can do so by adding an
export
statement at the end of the program.
Let's see the Pulumi program:
import * as k8s from "@pulumi/kubernetes"; // Deploy the "mssql-linux" Helm chart. const mssqlChart = new k8s.helm.v3.Chart("mssql-linux", { // Assuming the chart is in a Helm repository, specify the repo URL where the chart can be found. // Replace `https://helm-repo-url` with the actual repository URL. // If the chart is in a local directory, you can use `path: "./path-to-local-chart"`. repo: "https://helm-repo-url", // Update with the actual Helm repository that hosts the mssql-linux chart. chart: "mssql-linux", // The name of the chart to deploy. // Specify the version of the Helm chart you want to deploy. // Replace `x.y.z` with the desired chart version. version: "x.y.z", // Update with the correct Helm chart version. // If custom values are required for the deployment (e.g., setting the acceptance of the EULA), // they can be added to the `values` object. values: { // For example, if the chart requires accepting the EULA, this value can be uncommented and set to 'Y'. // Be sure to review terms and conditions specific to the software being deployed. // acceptEula: "Y" // Uncomment and set the appropriate values as required by the Helm chart. // Customize further values as needed for the Helm chart. // Refer to the mssql-linux chart's documentation for a comprehensive list of configurable values. }, // If needed, change the default namespace where the chart will be deployed. // namespace: "default", // Uncomment and update if you want to deploy to a different namespace. }); // If there are specific outputs you'd like to capture from the deployment (e.g., the Service endpoint), // add export statements for these here. // export const serviceEndpoint = mssqlChart.getResourceProperty("<ResourceType>", "<ResourceName>", "status").apply(status => status.loadBalancer.ingress[0].hostname); // View the Pulumi Kubernetes documentation for the Chart resource: // https://www.pulumi.com/registry/packages/kubernetes/api-docs/helm/v3/chart/
Important notes:
- Make sure to replace
https://helm-repo-url
with the URL of the Helm repository that contains themssql-linux
chart. - Replace
x.y.z
with the version number of themssql-linux
Helm chart that you want to deploy. - Review and adjust the
values
based on the settings and configuration options required by themssql-linux
chart. You may need to agree to certain terms or provide additional configuration for the SQL Server instance. - Uncomment the
export
line and adjust"<ResourceType>"
and"<ResourceName>"
placeholders with the appropriate values to export any outputs you need, like the service endpoint. - Ensure that you've configured Pulumi with access to your Kubernetes cluster. This setup is typically done via the
~/.kube/config
file that Pulumi will use by default.
To apply this Pulumi program, you'll need to install the Pulumi CLI and then run
pulumi up
in your terminal from the directory where this program is saved. The CLI will present you with a preview of the actions to be taken and, upon confirmation, will proceed to apply the changes to your cluster.-