Browse the Repo

file-type-icondata-stores
file-type-iconlambda
file-type-iconmgmt
file-type-iconnetworking
file-type-iconsecurity
file-type-iconservice-templates
file-type-iconservices
file-type-iconasg-service
file-type-iconbeanstalk-service
file-type-iconecs-cluster
file-type-iconecs-service-with-alb
file-type-iconeks-cluster
file-type-iconeks-core-services
file-type-iconmigration_guides
file-type-iconREADME.md
file-type-icondependencies.tf
file-type-iconmain.tf
file-type-iconoutputs.tf
file-type-iconvariables.tf
file-type-iconk8s-namespace
file-type-iconk8s-service
file-type-iconstatic-website
file-type-icontls-scripts
file-type-icon.gitignore
file-type-iconCODEOWNERS
file-type-iconREADME.md

Browse the Repo

file-type-icondata-stores
file-type-iconlambda
file-type-iconmgmt
file-type-iconnetworking
file-type-iconsecurity
file-type-iconservice-templates
file-type-iconservices
file-type-iconasg-service
file-type-iconbeanstalk-service
file-type-iconecs-cluster
file-type-iconecs-service-with-alb
file-type-iconeks-cluster
file-type-iconeks-core-services
file-type-iconmigration_guides
file-type-iconREADME.md
file-type-icondependencies.tf
file-type-iconmain.tf
file-type-iconoutputs.tf
file-type-iconvariables.tf
file-type-iconk8s-namespace
file-type-iconk8s-service
file-type-iconstatic-website
file-type-icontls-scripts
file-type-icon.gitignore
file-type-iconCODEOWNERS
file-type-iconREADME.md
Sample Infrastructure Modules

Sample Infrastructure Modules

Sample infrastructure-modules repo (multi-account setup) for fictional company Acme.

Code Preview

Preview the Code

mobile file icon

README.md

down

EKS Core Services Module

This Terraform Module launches a set of core administrative services that make working with Elastic Container Service for Kubernetes Cluster easier. This includes:

How do you use this module?

  • See the root README for instructions on using Terraform modules in this repo.
  • See variables.tf for all the variables you can set on this module.

What is an EKS Cluster?

To use EKS, you first provision an EKS cluster, which acts as the managed AWS Kubernetes Control Plane. You then provision one or more EC2 Instances to act as workers for the cluster. The Kubernetes scheduler can then deploy Docker containers across any of the instances in this cluster. Each instance needs to have the kubelet process installed so it can communicate with the Kubernetes control plane and register itself as part of the right cluster.

What is Helm?

Helm is a package manager for Kubernetes that can be used to install various services on to the EKS cluster. You use helm through the helm CLI, which uses the Kubernetes API to deploy the resources. helm tracks its releases in Secret resources on the cluster, which it uses to track all the charts that have been deployed. This allows for various rollout functionality, such as tracking failed deployments for rolling backwards to a previous release or forwards to new releases.

You can read more about Helm in the official documentation.

Core Concepts

For more information on the various services that are deployed in this module, check out:

Questions? Ask away.

We're here to talk about our services, answer any questions, give advice, or just to chat.

Ready to hand off the Gruntwork?