Skip to content

Commit 8027652

Browse files
DATAGO-80328: Refactor EKS node group name (#65)
1 parent f587470 commit 8027652

File tree

6 files changed

+40
-20
lines changed

6 files changed

+40
-20
lines changed

eks/terraform/modules/broker-node-group/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ No modules.
4141
| <a name="input_node_group_taints"></a> [node\_group\_taints](#input\_node\_group\_taints) | Kubernetes taints added to worker nodes in the node groups. | `list(map(string))` | n/a | yes |
4242
| <a name="input_security_group_ids"></a> [security\_group\_ids](#input\_security\_group\_ids) | The security groups that will be attached to the worker nodes. | `list(string)` | n/a | yes |
4343
| <a name="input_subnet_ids"></a> [subnet\_ids](#input\_subnet\_ids) | The subnets that the node groups will use - a node group is created in each subnet. | `list(string)` | n/a | yes |
44+
| <a name="input_use_random_suffix_in_node_group_name"></a> [use\_random\_suffix\_in\_node\_group\_name](#input\_use\_random\_suffix\_in\_node\_group\_name) | Whether to use auto generated random suffix in node group name | `bool` | `true` | no |
4445
| <a name="input_worker_node_instance_type"></a> [worker\_node\_instance\_type](#input\_worker\_node\_instance\_type) | The instance type of the worker nodes. | `string` | n/a | yes |
4546
| <a name="input_worker_node_role_arn"></a> [worker\_node\_role\_arn](#input\_worker\_node\_role\_arn) | The ARN of the IAM role assigned to each worker node via an instance profile. | `string` | n/a | yes |
4647
| <a name="input_worker_node_tags"></a> [worker\_node\_tags](#input\_worker\_node\_tags) | Tags that are added to worker nodes. | `map(string)` | `{}` | no |

eks/terraform/modules/broker-node-group/main.tf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ resource "aws_eks_node_group" "this" {
3636
count = length(var.subnet_ids)
3737

3838
cluster_name = var.cluster_name
39-
node_group_name_prefix = "${var.node_group_name_prefix}-${count.index}-"
39+
node_group_name_prefix = var.use_random_suffix_in_node_group_name ? "${var.node_group_name_prefix}-${count.index}-" : null
40+
node_group_name = var.use_random_suffix_in_node_group_name ? null : "${var.node_group_name_prefix}-${count.index}"
4041
node_role_arn = var.worker_node_role_arn
4142
subnet_ids = [var.subnet_ids[count.index]]
4243

eks/terraform/modules/broker-node-group/variables.tf

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,4 +74,10 @@ variable "worker_node_role_arn" {
7474
variable "worker_node_instance_type" {
7575
type = string
7676
description = "The instance type of the worker nodes."
77-
}
77+
}
78+
79+
variable "use_random_suffix_in_node_group_name" {
80+
description = "Whether to use auto generated random suffix in node group name"
81+
type = bool
82+
default = true
83+
}

eks/terraform/modules/cluster/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@
7979
| <a name="input_node_group_max_size"></a> [node\_group\_max\_size](#input\_node\_group\_max\_size) | The maximum size for the broker node groups in the cluster. | `number` | `10` | no |
8080
| <a name="input_private_subnet_ids"></a> [private\_subnet\_ids](#input\_private\_subnet\_ids) | The IDs of the private subnets where the worker nodes will reside. | `list(string)` | n/a | yes |
8181
| <a name="input_region"></a> [region](#input\_region) | The AWS region where this cluster will reside. | `string` | n/a | yes |
82+
| <a name="input_use_random_suffix_in_node_group_name"></a> [use\_random\_suffix\_in\_node\_group\_name](#input\_use\_random\_suffix\_in\_node\_group\_name) | Whether to use auto generated random suffix in node group name | `bool` | `true` | no |
8283
| <a name="input_vpc_id"></a> [vpc\_id](#input\_vpc\_id) | The ID of the VPC where the cluster will reside. | `string` | n/a | yes |
8384

8485
## Outputs

eks/terraform/modules/cluster/main.tf

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -503,7 +503,8 @@ resource "aws_launch_template" "default" {
503503

504504
resource "aws_eks_node_group" "default" {
505505
cluster_name = aws_eks_cluster.cluster.name
506-
node_group_name_prefix = "${var.cluster_name}-default-"
506+
node_group_name_prefix = var.use_random_suffix_in_node_group_name ? "${var.cluster_name}-default-" : null
507+
node_group_name = var.use_random_suffix_in_node_group_name ? null : "${var.cluster_name}-default"
507508
node_role_arn = aws_iam_role.worker_node.arn
508509
subnet_ids = var.private_subnet_ids
509510

@@ -547,10 +548,11 @@ resource "aws_autoscaling_group_tag" "default_name_tag" {
547548
module "node_group_prod1k" {
548549
source = "../broker-node-group"
549550

550-
cluster_name = aws_eks_cluster.cluster.name
551-
node_group_name_prefix = "${var.cluster_name}-prod1k"
552-
security_group_ids = [aws_security_group.worker_node.id]
553-
subnet_ids = var.private_subnet_ids
551+
cluster_name = aws_eks_cluster.cluster.name
552+
use_random_suffix_in_node_group_name = var.use_random_suffix_in_node_group_name
553+
node_group_name_prefix = "${var.cluster_name}-prod1k"
554+
security_group_ids = [aws_security_group.worker_node.id]
555+
subnet_ids = var.private_subnet_ids
554556

555557
worker_node_role_arn = aws_iam_role.worker_node.arn
556558
worker_node_instance_type = local.prod1k_instance_type
@@ -588,10 +590,11 @@ module "node_group_prod1k" {
588590
module "node_group_prod10k" {
589591
source = "../broker-node-group"
590592

591-
cluster_name = aws_eks_cluster.cluster.name
592-
node_group_name_prefix = "${var.cluster_name}-prod10k"
593-
security_group_ids = [aws_security_group.worker_node.id]
594-
subnet_ids = var.private_subnet_ids
593+
cluster_name = aws_eks_cluster.cluster.name
594+
use_random_suffix_in_node_group_name = var.use_random_suffix_in_node_group_name
595+
node_group_name_prefix = "${var.cluster_name}-prod10k"
596+
security_group_ids = [aws_security_group.worker_node.id]
597+
subnet_ids = var.private_subnet_ids
595598

596599
worker_node_role_arn = aws_iam_role.worker_node.arn
597600
worker_node_instance_type = local.prod10k_instance_type
@@ -629,10 +632,11 @@ module "node_group_prod10k" {
629632
module "node_group_prod100k" {
630633
source = "../broker-node-group"
631634

632-
cluster_name = aws_eks_cluster.cluster.name
633-
node_group_name_prefix = "${var.cluster_name}-prod100k"
634-
security_group_ids = [aws_security_group.worker_node.id]
635-
subnet_ids = var.private_subnet_ids
635+
cluster_name = aws_eks_cluster.cluster.name
636+
use_random_suffix_in_node_group_name = var.use_random_suffix_in_node_group_name
637+
node_group_name_prefix = "${var.cluster_name}-prod100k"
638+
security_group_ids = [aws_security_group.worker_node.id]
639+
subnet_ids = var.private_subnet_ids
636640

637641
worker_node_role_arn = aws_iam_role.worker_node.arn
638642
worker_node_instance_type = local.prod100k_instance_type
@@ -670,10 +674,11 @@ module "node_group_prod100k" {
670674
module "node_group_monitoring" {
671675
source = "../broker-node-group"
672676

673-
cluster_name = aws_eks_cluster.cluster.name
674-
node_group_name_prefix = "${var.cluster_name}-monitoring"
675-
security_group_ids = [aws_security_group.worker_node.id]
676-
subnet_ids = var.private_subnet_ids
677+
cluster_name = aws_eks_cluster.cluster.name
678+
use_random_suffix_in_node_group_name = var.use_random_suffix_in_node_group_name
679+
node_group_name_prefix = "${var.cluster_name}-monitoring"
680+
security_group_ids = [aws_security_group.worker_node.id]
681+
subnet_ids = var.private_subnet_ids
677682

678683
worker_node_role_arn = aws_iam_role.worker_node.arn
679684
worker_node_instance_type = local.monitoring_instance_type

eks/terraform/modules/cluster/variables.tf

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,10 @@ variable "kubernetes_cluster_admin_arns" {
6363
type = list(string)
6464
default = []
6565
description = "When kubernetes_cluster_auth_mode is set to 'API', user or role ARNs can be provided that will be given assigned AmazonEKSClusterAdminPolicy for this cluster."
66-
}
66+
}
67+
68+
variable "use_random_suffix_in_node_group_name" {
69+
description = "Whether to use auto generated random suffix in node group name"
70+
type = bool
71+
default = true
72+
}

0 commit comments

Comments
 (0)