1. Deploy the tiller helm chart on AWS EKS

    TypeScript

    To deploy the Tiller Helm Chart on AWS EKS, you will essentially go through these steps:

    1. Create an EKS cluster (if you don't already have one).
    2. Configure kubectl to communicate with the cluster.
    3. Use the Helm CLI to install Tiller on the EKS cluster.

    The Pulumi program below will demonstrate how to create an EKS cluster using the eks.Cluster resource from the EKS package. Once the cluster is up and running, you would typically use kubectl and Helm (outside of the Pulumi program) to interact with the cluster and install Tiller.

    import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws"; import * as eks from "@pulumi/eks"; // Create an EKS cluster with the default configurations. const cluster = new eks.Cluster("my-cluster", {}); // Export the cluster details to interact with the cluster later on. export const kubeconfig = cluster.kubeconfig; export const clusterName = cluster.core.cluster.name; export const clusterEndpoint = cluster.core.cluster.endpoint;

    In this program:

    • We import the necessary modules, including pulumi, aws, and eks.
    • We create an EKS cluster with a simple configuration using eks.Cluster.
    • We export the kubeconfig, which can be used to configure kubectl to interact with your EKS cluster.

    After running the Pulumi program

    After the EKS cluster is provisioned by Pulumi:

    1. Configure kubectl using the exported kubeconfig Pulumi output.
    2. Install Helm on your local machine if it's not already installed.
    3. Initialize Helm on your local machine and specify the EKS cluster.
    4. Finally, use Helm to deploy Tiller to the EKS cluster.

    Remember, Helm 2 requires Tiller running inside the Kubernetes cluster to function. Helm 3 removed the need for Tiller and interacts directly with the Kubernetes API, so if you're using Helm 3, you don't need to deploy Tiller.

    Note on Helm Installation

    To install Tiller (Helm's server-side component) with Helm v2, you would typically do this outside of Pulumi with the following steps:

    1. Make sure you have Helm installed locally. Follow the Helm install guide.
    2. Initialize Helm on your local machine: helm init
    3. Install Tiller on your EKS cluster: helm init --service-account tiller

    As of Helm v3, Tiller is no longer required. If you're using an up-to-date version of Helm, you can skip installing Tiller and proceed to deploy charts directly.

    Next Steps

    With the EKS cluster set up, you'd move forward with the Helm Tiller setup. If you have Helm v2 and need to install Tiller onto your EKS cluster, you can use the exported kubeconfig from Pulumi to connect kubectl and Helm to your EKS cluster. Then you can proceed with the helm init command to install Tiller.

    If you find these steps too advanced, Helm 3's simpler approach may be more suitable as it negates the need for Tiller and thus streamlines the deployment process. If you want to use Helm 3 with Pulumi, you just need to install Helm and execute helm install commands for your charts, pointing to the kubeconfig of your EKS cluster.