Deploy the kamaji helm chart on AWS EKS
TypeScriptTo deploy the Kamaji helm chart on AWS EKS using Pulumi, you'll first need to create an EKS cluster. After the cluster is created, you can deploy the helm chart into it. Below are the steps we'll take in our program:
- Create an EKS cluster using the Pulumi EKS package.
- Once the cluster is up and running, we'll use the Pulumi Kubernetes provider to deploy the helm chart to the cluster.
We'll use the
eks.Cluster
resource to create the EKS cluster and thekubernetes.helm.v3.Chart
resource to deploy the Kamaji helm chart.Here's a Pulumi program written in TypeScript to achieve this:
import * as pulumi from "@pulumi/pulumi"; 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("kamaji-cluster", {}); // Export the cluster's kubeconfig. export const kubeconfig = cluster.kubeconfig; // Deployment of the Kamaji helm chart to the EKS cluster. // We need to setup a Kubernetes provider to use the kubeconfig generated above. const k8sProvider = new k8s.Provider("k8s-provider", { kubeconfig: cluster.kubeconfig.apply(JSON.stringify), }); // Deploy the Kamaji helm chart using the Kubernetes provider. // You will need to specify the correct repository URL and any additional chart values you need. const kamajiChart = new k8s.helm.v3.Chart("kamaji-chart", { // Replace `REPO_URL` with the actual Helm repository URL and `CHART_NAME` with the correct chart name. chart: "CHART_NAME", fetchOpts: { repo: "REPO_URL", }, values: { // Specify any values required to configure Kamaji. }, }, { provider: k8sProvider }); // Export the Kamaji chart resources. export const kamajiResources = kamajiChart.resources;
To run the program, you need to have Pulumi installed and AWS configured with the appropriate credentials. Next, you can follow these steps:
- Save the code to a file,
index.ts
in a Pulumi project folder. - Run
pulumi up
to preview and deploy the changes. Pulumi will print out the update status in real-time. - Check the outputted
kubeconfig
to interact with your cluster usingkubectl
. - After your EKS cluster is up, Pulumi will deploy the Kamaji helm chart to your EKS cluster.
If you need additional customization for the Helm chart deployment, you can modify the
values
section accordingly.Please note you must replace the placeholder
REPO_URL
andCHART_NAME
in thekamajiChart
resource with the actual repository URL of the Kamaji helm chart and the name of the chart.Also, if you need more customized cluster configuration, you can pass additional parameters when creating the
eks.Cluster
. Check the EKS Cluster documentation for more details. The program exports the resources created by the Helm chart, allowing you to see all Kubernetes resources that got created as a result of deploying the chart.