diff --git a/terraform-modules/main.tf b/terraform-modules/main.tf index f5dae0d..cc26d88 100644 --- a/terraform-modules/main.tf +++ b/terraform-modules/main.tf @@ -76,3 +76,12 @@ module "rds" { Environment = var.Environment Owner = var.Owner } + +module "eks" { + source = "./modules/eks" + cluster_name = var.cluster_name + vpc_id = module.vpc.vpc_id + public_subnet_ids = [module.vpc.public_subnet_1_id, module.vpc.public_subnet_2_id] + Environment = var.Environment + Owner = var.Owner +} diff --git a/terraform-modules/modules/EKS/main.tf b/terraform-modules/modules/EKS/main.tf new file mode 100644 index 0000000..36aa177 --- /dev/null +++ b/terraform-modules/modules/EKS/main.tf @@ -0,0 +1,25 @@ +module "eks" { + source = "terraform-aws-modules/eks/aws" + version = "20.8.4" + + cluster_name = var.cluster_name + cluster_version = "1.29" + subnet_ids = var.public_subnet_ids + vpc_id = var.vpc_id + + enable_irsa = true + + eks_managed_node_groups = { + default = { + desired_size = 2 + max_size = 3 + min_size = 1 + instance_types = ["t3.medium"] + } + } + + tags = { + Environment = var.Environment + Owner = var.Owner + } +} diff --git a/terraform-modules/modules/EKS/outputs.tf b/terraform-modules/modules/EKS/outputs.tf new file mode 100644 index 0000000..e99752f --- /dev/null +++ b/terraform-modules/modules/EKS/outputs.tf @@ -0,0 +1,11 @@ +output "cluster_name" { + value = module.eks.cluster_name +} + +output "cluster_endpoint" { + value = module.eks.cluster_endpoint +} + +output "cluster_certificate_authority_data" { + value = module.eks.cluster_certificate_authority_data +} diff --git a/terraform-modules/modules/EKS/variables.tf b/terraform-modules/modules/EKS/variables.tf new file mode 100644 index 0000000..23e09e9 --- /dev/null +++ b/terraform-modules/modules/EKS/variables.tf @@ -0,0 +1,19 @@ +variable "cluster_name" { + type = string +} + +variable "vpc_id" { + type = string +} + +variable "public_subnet_ids" { + type = list(string) +} + +variable "Environment" { + type = string +} + +variable "Owner" { + type = string +} diff --git a/terraform-modules/terraform.tfvars b/terraform-modules/terraform.tfvars index 8742034..7c472ff 100644 --- a/terraform-modules/terraform.tfvars +++ b/terraform-modules/terraform.tfvars @@ -7,3 +7,4 @@ ami = "ami-0e449927258d45bc4" db_name = "mydatabase" db_username = "admin" db_password = "DEPI@123" +cluster_name = "my-eks-cluster" diff --git a/terraform-modules/variables.tf b/terraform-modules/variables.tf index 20ef6e0..b9e1dfa 100644 --- a/terraform-modules/variables.tf +++ b/terraform-modules/variables.tf @@ -6,6 +6,7 @@ variable "instance_type" {} variable "ami" {} variable "db_name" {} variable "db_username" {} +variable "cluster_name" {} variable "db_password" { sensitive = true }