This module creates EKS on multiple region
Copy paste below code
data "aws_eks_cluster" "cluster" {
name = module.my-cluster.cluster_id
}
data "aws_eks_cluster_auth" "cluster" {
name = module.my-cluster.cluster_id
}
provider "kubernetes" {
host = data.aws_eks_cluster.cluster.endpoint
cluster_ca_certificate = base64decode(data.aws_eks_cluster.cluster.certificate_authority.0.data)
token = data.aws_eks_cluster_auth.cluster.token
load_config_file = false
version = "~> 1.9"
}
module "eks" {
source = "Ahmeddevops-Github/eks/aws"
version = "2.0.0"
cluster_name = "${var.cluster_name}"
cluster_version = "${var.cluster_version}"
subnets = "${var.subnets}"
vpc_id = "${var.vpc_id}"
worker_groups = [{
instance_type = "${var.instance_type}"
asg_max_size = "${var.asg_max_size}"
asg_min_size = "${var.asg_min_size}"
}
]
}
Copy paste to output file
output "cluster_id" {
value = "${module.my-cluster.cluster_id}"
}
output "cluster_arn" {
value = "${module.my-cluster.cluster_arn}"
}
output "cluster_version" {
value = "${module.my-cluster.cluster_version}"
}
output "cluster_security_group_id" {
value = "${module.my-cluster.cluster_security_group_id}"
}
output "workers_asg_names" {
value = "${module.my-cluster.workers_asg_names}"
}
Terraform code takes values. Provide those
cluster_name = "my-cluster"
cluster_version = "1.14"
subnets = ["subnet-00000", "subnet-00000", "subnet-00000"]
vpc_id = "vpc-0000000000"
instance_type = "m4.large"
asg_max_size = 5
asg_min_size = 1
region = "us-east-2"
Run below command
terraform_0.12.19 plan -var-file regions/ohio.tfvars
terraform_0.12.19 apply -var-file regions/ohio.tfvars
Ahmed DevOps