feat: Added support for update_config in EKS managed node groups (#1560)

This commit is contained in:
marianobilli
2021-09-03 22:56:17 +02:00
committed by GitHub
parent be71ef203b
commit f23f729980
3 changed files with 14 additions and 0 deletions

View File

@@ -95,6 +95,9 @@ module "eks" {
effect = "NO_SCHEDULE"
}
]
update_config = {
max_unavailable_percentage = 50 # or set `max_unavailable`
}
}
}

View File

@@ -40,6 +40,8 @@ The role ARN specified in `var.default_iam_role_arn` will be used by default. In
| launch\_template_version | The version of the LT to use | string | none |
| max\_capacity | Max number of workers | number | `var.workers_group_defaults[asg_max_size]` |
| min\_capacity | Min number of workers | number | `var.workers_group_defaults[asg_min_size]` |
| update_config.max\_unavailable\_percentage | Max percentage of unavailable nodes during update. (e.g. 25, 50, etc) | number | `null` if `update_config.max_unavailable` is set |
| update_config.max\_unavailable | Max number of unavailable nodes during update | number | `null` if `update_config.max_unavailable_percentage` is set |
| name | Name of the node group. If you don't really need this, we recommend you to use `name_prefix` instead. | string | Will use the autogenerate name prefix |
| name_prefix | Name prefix of the node group | string | Auto generated |
| pre_userdata | userdata to pre-append to the default userdata. Require `create_launch_template` to be `true`| string | "" |

View File

@@ -69,6 +69,15 @@ resource "aws_eks_node_group" "workers" {
}
}
dynamic "update_config" {
for_each = try(each.value.update_config.max_unavailable_percentage > 0, each.value.update_config.max_unavailable > 0, false) ? [true] : []
content {
max_unavailable_percentage = try(each.value.update_config.max_unavailable_percentage, null)
max_unavailable = try(each.value.update_config.max_unavailable, null)
}
}
timeouts {
create = lookup(each.value["timeouts"], "create", null)
update = lookup(each.value["timeouts"], "update", null)