Deploy the bff-vrecli-service helm chart on AWS EKS
TypeScriptTo deploy a Helm chart on AWS EKS, you would need to complete several steps. The process involves:
- Creating an EKS cluster.
- Deploying the Helm chart to the cluster.
In this Pulumi program, we use AWS and Kubernetes resources. We'll create an EKS cluster using the
eks.Cluster
resource from the@pulumi/eks
package. This is a high-level component that creates and manages an EKS cluster on AWS. It simplifies setting up an EKS cluster by using sensible defaults and abstracting details.Once the cluster is set up, we deploy the Helm chart using the
kubernetes.helm.v3.Chart
resource from the@pulumi/kubernetes
package. This resource allows you to deploy applications described by Helm charts. The Helm chart you're referring to,bff-vrecli-service
, would either need to be available in a Helm chart repository or located in a local path.Below is the Pulumi program written in TypeScript to achieve this. Make sure you have Pulumi installed, AWS configured with the necessary permissions, and
kubectl
installed to interact with the cluster.import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws"; import * as awsx from "@pulumi/awsx"; import * as eks from "@pulumi/eks"; import * as k8s from "@pulumi/kubernetes"; // Create an EKS cluster with the default configuration. const cluster = new eks.Cluster("bff-vrecli-service-cluster", {}); // Export the cluster's kubeconfig. export const kubeconfig = cluster.kubeconfig; // Once the cluster is created, you can deploy Helm charts to it. // For the `bff-vrecli-service` Helm chart, you will either need to provide the repository // where the chart is hosted or a path to the chart if it's stored locally. const chart = new k8s.helm.v3.Chart("bff-vrecli-service-chart", { chart: "bff-vrecli-service", // Ensure to replace with the correct chart name // Uncomment and set these properties if the chart is in a Helm repo. // repo: "http://example.com/helm-charts", // version: "1.2.3", // The chart version, if you want to pin it. namespace: "default", fetchOpts: { // Uncomment and set if your helm chart requires specific fetch options. // repo: "http://example.com/helm-charts", } }, { provider: cluster.provider }); // Export the Helm chart deployment status. export const helmChartStatus = chart.status;
In this program:
- It assumes the
bff-vrecli-service
Helm chart is located in a Helm chart repository. If it’s a local chart, thepath
orrepo
properties of theChart
resource need adjustment. kubeconfig
is exported so you can interact with your cluster withkubectl
.- The
.status
of the Helm chart deployment is exported, providing a way to check if it deployed successfully.
Ensure you review the configuration options for both the
eks.Cluster
andkubernetes.helm.v3.Chart
resources, modifying any values to suit your specific circumstances – such as the Kubernetes namespace, EKS version, node sizes, or Helm chart values if necessary.