Deploy the tiller helm chart on AWS EKS
TypeScriptTo deploy the Tiller Helm Chart on AWS EKS, you will essentially go through these steps:
- Create an EKS cluster (if you don't already have one).
- Configure
kubectl
to communicate with the cluster. - 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 usekubectl
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
, andeks
. - We create an EKS cluster with a simple configuration using
eks.Cluster
. - We export the
kubeconfig
, which can be used to configurekubectl
to interact with your EKS cluster.
After running the Pulumi program
After the EKS cluster is provisioned by Pulumi:
- Configure
kubectl
using the exportedkubeconfig
Pulumi output. - Install Helm on your local machine if it's not already installed.
- Initialize Helm on your local machine and specify the EKS cluster.
- 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:
- Make sure you have Helm installed locally. Follow the Helm install guide.
- Initialize Helm on your local machine:
helm init
- 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 connectkubectl
and Helm to your EKS cluster. Then you can proceed with thehelm 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.