1. Pre-requisites

The Amazon Elastic Kubernetes Service (EKS) is one of the AWS services for deploying, managing and scaling any distributed and containerized workloads. Here we can provision the EKS cluster on AWS from the ground up using terraform (infra-as-code) and then deploy the DIGIT platform services as config-as-code using Helm.



  1. 1.
    AWS account with admin access to provision EKS Service. You can always subscribe to a free AWS account to learn the basics and try, but there is a limit to what is offered as free. For this demo, you need a commercial subscription to the EKS service. If you want to try for a day or two, it might cost you about Rs 500 - 1000.
    • Note: Post the Demo (for eGov internal folks only) - request for the AWS access for 4 hrs. Time-bound access to eGov's training AWS account is available upon request and the available number of slots per day).
  2. 2.
    Install kubectl (any version) on the local machine - it helps in interaction with the Kubernetes cluster.
  3. 3.
    Install Helm - this helps package the services along with the configurations, environments, secrets, etc into Kubernetes manifests.
  4. 4.
    Install tfswitch to run different versions of terraform on the machine. tfswitch supports multiple terraform versions on the same machine and you can toggle between the desired versions.
// On Mac
brew install warrensbox/tap/tfswitch
// On Linux
curl -L | bash
Please refer to tfswitch documentation for different platforms. Terraform version 0.14.10 can be installed directly as well.
5. Run tfswitch and it will show a list of terraform versions. Scroll down and select terraform version (0.14.10) for the Infra-as-code (IaC) to provision cloud resources as code. This provides the desired resource graph and also helps destroy the cluster in one go.​
All content on this page by eGov Foundation is licensed under a Creative Commons Attribution 4.0 International License.