Deploy the ueb-listener helm chart on AWS EKS
TypeScriptTo deploy the
ueb-listener
helm chart on AWS EKS, you will follow these steps:- Set up an EKS cluster using the
eks.Cluster
resource, which creates and manages an Amazon EKS cluster. - Deploy the
ueb-listener
helm chart onto the EKS cluster using thekubernetes.helm.sh/v3.Chart
resource.
Here's the TypeScript program that accomplishes this deployment:
import * as pulumi from '@pulumi/pulumi'; import * as aws from '@pulumi/aws'; import * as eks from '@pulumi/eks'; import * as k8s from '@pulumi/kubernetes'; // Create an EKS cluster. const cluster = new eks.Cluster('ueb-eks-cluster', { desiredCapacity: 2, minSize: 1, maxSize: 3, // specify the version of Kubernetes version: '1.21', }); // Export the clusters' kubeconfig. export const kubeconfig = cluster.kubeconfig; // Instantiate a kubernetes provider that uses the generated kubeconfig. const provider = new k8s.Provider('k8s-provider', { kubeconfig: cluster.kubeconfig.apply(JSON.stringify), }); // Deploy ueb-listener helm chart onto the EKS cluster. const uebListenerChart = new k8s.helm.v3.Chart('ueb-listener-chart', { chart: 'ueb-listener', // You'll need to specify the repository here if ueb-listener chart is in a Helm repo. // Otherwise, you can specify the path if it's a local chart. // repository: 'http://<helm-repository>/', // If the Helm chart is not yet packaged and is stored locally, you could use `path` instead: // path: '/path/to/ueb-listener/chart', // Specify chart values, such as image tags, service type, etc. values: { // placeholder values, replace them with the actual values required by your chart service: { type: 'LoadBalancer', }, // ... more values }, }, { provider: provider }); // Export resources export const eksClusterName = cluster.eksCluster.name; // EKS cluster name export const uebListenerChartStatus = uebListenerChart.status; // Helm Chart Status
In the above program:
- We import the required Pulumi packages and create an EKS cluster with a specified Kubernetes version and desired node capacity.
- We then export the kubeconfig which can be used to interact with the cluster via
kubectl
. - The Kubernetes provider is set up to use the generated kubeconfig.
- We deploy the
ueb-listener
helm chart using theChart
resource from the@pulumi/kubernetes
package. This is where we need to specify either the repository where the helm chart is located or the local path to the chart directory. - We export the EKS cluster name and the status of the helm chart deployment for further references.
Make sure to replace placeholders with actual values that your
ueb-listener
helm chart expects. It's essential to check the values required by your helm chart and adjust them in the above deployment accordingly.This program assumes you have
ueb-listener
helm chart accessible either through a remote repository or locally on the file system. If it's stored in a Helm repository, you will need to provide the URL to therepository
field. If the chart is local, use thepath
field instead.- Set up an EKS cluster using the