Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
README.md 19.77 KiB

aws-eks-accelerator-for-terraform

Main Purpose

This project provides a framework for deploying best-practice multi-tenant EKS Clusters with Kubernetes Addons, provisioned via Hashicorp Terraform and Helm charts on AWS.

Overview

The AWS EKS Accelerator for Terraform module helps you to provision EKS Clusters, Managed node groups with On-Demand and Spot Instances, AWS Fargate profiles, and all the necessary Kubernetes add-ons for a production-ready EKS cluster. The Terraform Helm provider is used to deploy common Kubernetes Addons with publicly available Helm Charts. This project leverages the community terraform-aws-eks modules to EKS Cluster.

The intention of this framework is to help design config driven solution. This will help you to create EKS clusters for various environments and AWS accounts across multiple regions with a unique Terraform configuration and state file per EKS cluster.

  • main.tf - EKS Cluster and Amazon EKS Addon resources.

  • aws-eks-worker.tf - Amazon Managed node groups, Self-managed nodes, AWS EKS Fargate profiles resources

  • kubernetes-addons.tf - contains resources to deploy Kubernetes Addons using Helm and Kubernetes provider.

  • modules - folder contains AWS resource sub modules used in this module.

  • kubernetes-addons - folder contains Helm charts and Kubernetes resources for deploying Kubernetes Addons.

  • deploy - folder contains example to deploy EKS cluster with multiple node groups and Kubernetes add-ons

EKS Cluster Deployment Options

This module provisions the following EKS resources

EKS Cluster resources