Skip to content

Commit fd3a3e9

Browse files
authored
fix: Default to cluster version for EKS and self managed node groups when a cluster_version is not specified (terraform-aws-modules#1963)
1 parent 7369f8a commit fd3a3e9

File tree

5 files changed

+14
-10
lines changed

5 files changed

+14
-10
lines changed

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ module "karpenter_irsa" {
266266
role_name = "karpenter_controller"
267267
attach_karpenter_controller_policy = true
268268
269-
karpenter_controller_cluster_ids = [module.eks.cluster_id]
269+
karpenter_controller_cluster_id = module.eks.cluster_id
270270
karpenter_controller_node_iam_role_arns = [
271271
module.eks.eks_managed_node_groups["default"].iam_role_arn
272272
]
@@ -938,6 +938,7 @@ Full contributing [guidelines are covered here](https://github.com/terraform-aws
938938
| <a name="output_cluster_security_group_arn"></a> [cluster\_security\_group\_arn](#output\_cluster\_security\_group\_arn) | Amazon Resource Name (ARN) of the cluster security group |
939939
| <a name="output_cluster_security_group_id"></a> [cluster\_security\_group\_id](#output\_cluster\_security\_group\_id) | ID of the cluster security group |
940940
| <a name="output_cluster_status"></a> [cluster\_status](#output\_cluster\_status) | Status of the EKS cluster. One of `CREATING`, `ACTIVE`, `DELETING`, `FAILED` |
941+
| <a name="output_cluster_version"></a> [cluster\_version](#output\_cluster\_version) | The Kubernetes version for the cluster |
941942
| <a name="output_eks_managed_node_groups"></a> [eks\_managed\_node\_groups](#output\_eks\_managed\_node\_groups) | Map of attribute maps for all EKS managed node groups created |
942943
| <a name="output_eks_managed_node_groups_autoscaling_group_names"></a> [eks\_managed\_node\_groups\_autoscaling\_group\_names](#output\_eks\_managed\_node\_groups\_autoscaling\_group\_names) | List of the autoscaling group names created by EKS managed node groups |
943944
| <a name="output_fargate_profiles"></a> [fargate\_profiles](#output\_fargate\_profiles) | Map of attribute maps for all EKS Fargate Profiles created |

examples/complete/main.tf

+4-6
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@ provider "aws" {
33
}
44

55
locals {
6-
name = "ex-${replace(basename(path.cwd), "_", "-")}"
7-
cluster_version = "1.21"
8-
region = "eu-west-1"
6+
name = "ex-${replace(basename(path.cwd), "_", "-")}"
7+
region = "eu-west-1"
98

109
tags = {
1110
Example = local.name
@@ -22,7 +21,6 @@ module "eks" {
2221
source = "../.."
2322

2423
cluster_name = local.name
25-
cluster_version = local.cluster_version
2624
cluster_endpoint_private_access = true
2725
cluster_endpoint_public_access = true
2826

@@ -188,7 +186,7 @@ module "eks_managed_node_group" {
188186

189187
name = "separate-eks-mng"
190188
cluster_name = module.eks.cluster_id
191-
cluster_version = local.cluster_version
189+
cluster_version = module.eks.cluster_version
192190

193191
vpc_id = module.vpc.vpc_id
194192
subnet_ids = module.vpc.private_subnets
@@ -205,7 +203,7 @@ module "self_managed_node_group" {
205203

206204
name = "separate-self-mng"
207205
cluster_name = module.eks.cluster_id
208-
cluster_version = local.cluster_version
206+
cluster_version = module.eks.cluster_version
209207
cluster_endpoint = module.eks.cluster_endpoint
210208
cluster_auth_base64 = module.eks.cluster_certificate_authority_data
211209

main.tf

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ resource "aws_eks_cluster" "this" {
6060
}
6161

6262
resource "aws_ec2_tag" "cluster_primary_security_group" {
63-
for_each = { for k, v in merge(var.tags, var.cluster_tags) : k => v if var.create }
63+
for_each = { for k, v in merge(var.tags, var.cluster_tags) : k => v if local.create }
6464

6565
resource_id = aws_eks_cluster.this[0].vpc_config[0].cluster_security_group_id
6666
key = each.key

node_groups.tf

+2-2
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ module "eks_managed_node_group" {
231231
create = try(each.value.create, true)
232232

233233
cluster_name = aws_eks_cluster.this[0].name
234-
cluster_version = try(each.value.cluster_version, var.eks_managed_node_group_defaults.cluster_version, var.cluster_version)
234+
cluster_version = try(each.value.cluster_version, var.eks_managed_node_group_defaults.cluster_version, aws_eks_cluster.this[0].version)
235235
cluster_security_group_id = local.cluster_security_group_id
236236
cluster_ip_family = var.cluster_ip_family
237237

@@ -402,7 +402,7 @@ module "self_managed_node_group" {
402402

403403
ebs_optimized = try(each.value.ebs_optimized, var.self_managed_node_group_defaults.ebs_optimized, null)
404404
ami_id = try(each.value.ami_id, var.self_managed_node_group_defaults.ami_id, "")
405-
cluster_version = try(each.value.cluster_version, var.self_managed_node_group_defaults.cluster_version, var.cluster_version)
405+
cluster_version = try(each.value.cluster_version, var.self_managed_node_group_defaults.cluster_version, aws_eks_cluster.this[0].version)
406406
instance_type = try(each.value.instance_type, var.self_managed_node_group_defaults.instance_type, "m6i.large")
407407
key_name = try(each.value.key_name, var.self_managed_node_group_defaults.key_name, null)
408408

outputs.tf

+5
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ output "cluster_oidc_issuer_url" {
2727
value = try(aws_eks_cluster.this[0].identity[0].oidc[0].issuer, "")
2828
}
2929

30+
output "cluster_version" {
31+
description = "The Kubernetes version for the cluster"
32+
value = try(aws_eks_cluster.this[0].version, "")
33+
}
34+
3035
output "cluster_platform_version" {
3136
description = "Platform version for the cluster"
3237
value = try(aws_eks_cluster.this[0].platform_version, "")

0 commit comments

Comments
 (0)