Skip to content

Terraform configurations for deploying an AWS EKS cluster with a fully configured VPC, OIDC authentication, and integrated AWS Load Balancer Controller.

Notifications You must be signed in to change notification settings

ssh-juan/terraform-aws-eks

Repository files navigation

Terraform AWS EKS

repo logo
This repository contains Terraform configurations used for my studies to automate the deployment of an Amazon EKS cluster.
It sets up a VPC with subnets, route tables, and necessary gateways, provisions the EKS cluster with worker nodes, configures OIDC for authentication, and integrates the AWS Load Balancer Controller for managing Kubernetes ingress resources. Helm is utilized for package management within the Kubernetes environment.

High-Level Architecture

architecture

Steps

  • Networking (VPC, Subnets, Route Tables, IGW (Internet Gateway), NGW (NAT Gateway), Elastic IP)
  • Cluster
  • Nodes
  • eksctl
  • OIDC - Open ID Connect
  • AWS Load Balancer Controller (to create the Ingresses)
  • Helm

Docs and Resources

Pre-Commit Hook

Current Setup:

  • Terraform Validate
  • Terraform Fmt -recursive
  • Terraform Docs

Documentation Below Using Terraform Docs

Requirements

Name Version
aws 5.82.2
helm 2.17.0
kubernetes 2.35.1

Providers

Name Version
aws 5.82.2

Modules

Name Source Version
eks_aws_load_balancer_controller ./modules/aws-load-balancer-controller n/a
eks_cluster ./modules/cluster n/a
eks_managed_node_group ./modules/managed-node-group n/a
eks_network ./modules/network n/a

Resources

Name Type
aws_s3_bucket.bucket resource
aws_s3_bucket_versioning.versioning resource

Inputs

Name Description Type Default Required
cidr_block Network CIDR Block for VPC string n/a yes
project_name Project Name to be used to name Resources, as a tag string n/a yes
region AWS Region to create Resources string n/a yes
tags A map of tags to add to all AWS Resources map(any) n/a yes

Outputs

Name Description
ca n/a
eks_vpc_config n/a
endpoint n/a
oidc n/a
oidc_id n/a

About

Terraform configurations for deploying an AWS EKS cluster with a fully configured VPC, OIDC authentication, and integrated AWS Load Balancer Controller.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages