Skip to content

Commit 5f833c1

Browse files
committed
eks module updated
1 parent 8729c3d commit 5f833c1

8 files changed

Lines changed: 140 additions & 30 deletions

File tree

eks_module/config/terraform.tfvars

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
2+
aws_eks_cluster_config = {
3+
4+
"demo-cluster" = {
5+
6+
eks_cluster_name = "demo-cluster1"
7+
eks_subnet_ids = ["subnet-0c6265a3df91b7b61","subnet-0f9c4ff10c3526a4d","subnet-04919de8d00a175f3","subnet-080af72a4f9415d55"]
8+
tags = {
9+
"Name" = "demo-cluster"
10+
}
11+
}
12+
}
13+
14+
eks_node_group_config = {
15+
16+
"node1" = {
17+
18+
eks_cluster_name = "demo-cluster"
19+
node_group_name = "mynode"
20+
nodes_iam_role = "eks-node-group-general1"
21+
node_subnet_ids = [subnet-0c6265a3df91b7b61","subnet-0f9c4ff10c3526a4d","subnet-04919de8d00a175f3","subnet-080af72a4f9415d55"]
22+
23+
tags = {
24+
"Name" = "node1"
25+
}
26+
}
27+
}

eks_module/main.tf

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
2+
module "aws_eks_cluster" {
3+
4+
source = "./modules/aws_eks"
5+
6+
for_each = var.aws_eks_cluster_config
7+
8+
eks_cluster_name = each.value.eks_cluster_name
9+
subnet_ids = each.value.eks_subnet_ids
10+
tags = each.value.tags
11+
}
12+
13+
module "aws_eks_node_group" {
14+
15+
source = "./modules/aws_eks_nodegroup"
16+
17+
for_each = var.eks_node_group_config
18+
19+
node_group_name = each.value.node_group_name
20+
eks_cluster_name = module.aws_eks_cluster[each.value.eks_cluster_name].eks_cluster_name
21+
subnet_ids = each.value.node_subnet_ids
22+
nodes_iam_role = each.value.nodes_iam_role
23+
tags = each.value.tags
24+
}
25+
26+
Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,21 @@ resource "aws_eks_cluster" "eks" {
1818
endpoint_public_access = true
1919

2020
# Must be in at least two different availability zones
21-
subnet_ids = ["subnet-0c6265a3df91b7b61","subnet-0f9c4ff10c3526a4d","subnet-04919de8d00a175f3","subnet-080af72a4f9415d55"]
21+
subnet_ids = var.subnet_ids
22+
# subnet_ids = [
23+
# aws_subnet.public_1.id,
24+
# aws_subnet.public_2.id,
25+
# aws_subnet.private_1.id,
26+
# aws_subnet.private_2.id
27+
# ]
2228
}
2329

2430
# Ensure that IAM Role permissions are created before and deleted after EKS Cluster handling.
2531
# Otherwise, EKS will not be able to properly delete EKS managed EC2 infrastructure such as Security Groups.
2632
depends_on = [
2733
aws_iam_role_policy_attachment.amazon_eks_cluster_policy
2834
]
29-
tags = {
30-
"Name" = "demo-cluster"
31-
}
35+
tags = var.tags
3236
}
3337

3438
resource "aws_iam_role" "eks_cluster" {
@@ -66,12 +70,3 @@ resource "aws_iam_role_policy_attachment" "AmazonEC2ContainerRegistryReadOnly-EK
6670
policy_arn = "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly"
6771
role = aws_iam_role.eks_cluster.name
6872
}
69-
70-
71-
output "eks_cluster_name" {
72-
value = aws_eks_cluster.eks.name
73-
}
74-
75-
variable "eks_cluster_name" {
76-
default = "demo-cluster1"
77-
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
output "eks_cluster_name" {
2+
value = aws_eks_cluster.eks.name
3+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
variable "eks_cluster_name" {
2+
default = "demo-eks"
3+
}
4+
5+
variable "subnet_ids" {
6+
7+
}
8+
variable "tags" {
9+
10+
}
11+
12+
# variable "testsubnet_ids" {
13+
14+
# }

eks_module/node.tf renamed to eks_module/modules/aws_eks_nodegroup/main.tf

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,8 @@
11

2-
variable "eks_cluster_name" {
3-
4-
}
5-
variable "node_group_name" {
6-
default = ""mynode""
7-
}
8-
9-
variable "nodes_iam_role" {
10-
default = "eks-node-group-general1"
11-
}
12-
13-
142

153
resource "aws_eks_node_group" "nodes_general" {
164
# Name of the EKS Cluster.
17-
cluster_name = aws_eks_cluster.eks.name
5+
cluster_name = var.eks_cluster_name
186

197
# Name of the EKS Node Group.
208
node_group_name = var.node_group_name
@@ -25,7 +13,7 @@ resource "aws_eks_node_group" "nodes_general" {
2513
# Identifiers of EC2 Subnets to associate with the EKS Node Group.
2614
# These subnets must have the following resource tag: kubernetes.io/cluster/CLUSTER_NAME
2715
# (where CLUSTER_NAME is replaced with the name of the EKS Cluster).
28-
subnet_ids = [subnet-0c6265a3df91b7b61","subnet-0f9c4ff10c3526a4d","subnet-04919de8d00a175f3","subnet-080af72a4f9415d55"]
16+
subnet_ids = var.subnet_ids
2917

3018
# Configuration block with scaling settings
3119
scaling_config {
@@ -66,9 +54,7 @@ resource "aws_eks_node_group" "nodes_general" {
6654
aws_iam_role_policy_attachment.amazon_eks_cni_policy_general,
6755
aws_iam_role_policy_attachment.amazon_ec2_container_registry_read_only,
6856
]
69-
tags = {
70-
"Name" = "node1"
71-
}
57+
tags = var.tags
7258
}
7359

7460
# Create IAM role for EKS Node Group
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
variable "eks_cluster_name" {
2+
3+
}
4+
variable "node_group_name" {
5+
default = "nodes-general"
6+
}
7+
8+
variable "subnet_ids" {
9+
10+
}
11+
12+
variable "tags" {
13+
14+
}
15+
variable "nodes_iam_role" {
16+
default = "eks-node-group-general"
17+
}

eks_module/variables.tf

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
2+
variable "access_key" {
3+
default = ""
4+
}
5+
variable "secret_key" {
6+
default = ""
7+
}
8+
9+
10+
variable "region" {
11+
default = "us-east-1"
12+
}
13+
14+
variable "aws_eks_cluster_config" {
15+
16+
}
17+
variable "eks_node_group_config" {
18+
19+
}
20+
21+
22+
23+
24+
25+
26+
27+
28+
29+
30+
31+
32+
33+
34+
35+
36+
37+
38+
39+
40+
41+
42+

0 commit comments

Comments
 (0)