Skip to content

Releases: terraform-aws-modules/terraform-aws-eks

v16.1.0

19 May 20:51
ff4450e
Compare
Choose a tag to compare

FEATURES:

  • Search for Windows or Linux AMIs only if they are needed (#1371)

BUG FIXES:

  • Set an ASG's launch template version to an explicit version to automatically trigger instance refresh (#1370)
  • Add description for private API ingress Security Group Rule (#1299)

DOCS:

  • Fix cluster autoscaler tags in IRSA example (#1204)
  • Add Bottlerocket example (#1296)

NOTES:

  • Set an ASG's launch template version to an explicit version automatically. This will ensure that an instance refresh will be triggered whenever the launch template changes. The default launch_template_version is now used to determine the latest or default version of the created launch template for self-managed worker groups.

v16.0.1

19 May 13:34
468a4b5
Compare
Choose a tag to compare

BUG FIXES:

  • Bump terraform-aws-modules/http provider version to support darwin arm64 release (#1369)

DOCS:

  • Use IRSA for Node Termination Handler IAM policy attachement in Instance Refresh example (#1373)

v16.0.0

17 May 20:24
acbf51c
Compare
Choose a tag to compare

FEATURES:

  • Add support for Auto Scaling Group Instance Refresh for self-managed worker groups (#1224)
  • Drop asg_recreate_on_change feature to encourage the usage of Instance Refresh for EC2 Auto Scaling (#1360)
  • Add timeout of 5mn when waiting for cluster (#1359)
  • Remove dependency on deprecated hashicorp/template provider (#1297)
  • Replace the local-exec script with a http datasource for waiting cluster (#1339)

BUG FIXES:

  • Remove provider from required providers (#1357)
  • Bump AWS provider version to add Warm Pool support (#1340)

CI:

  • Bump terraform-docs to 0.13 (#1335)

BREAKING CHANGES:

  • This module used random_pet resources to create a random name for the autoscaling group to force the autoscaling group to be re-created when the launch configuration or launch template was changed (if recreate_asg_when_lc_changes = true was set), causing the instances to be removed and re-provisioned each time there was an update. Those random_pet resources has been removed and in its place there is now a set of functionality provided by AWS and the Terraform AWS provider - Instance Refresh. We encourage those users to move on Instance Refresh for EC2 Auto Scaling.
  • We remove the dependency on the deprecated hashicorp/template provider and use the Terraform built in templatefile function. This will broke some workflows due to previously being able to pass in the raw contents of a template file for processing. The templatefile function requires a template file that exists before running a plan.

NOTES:

  • Using the terraform-aws-modules/http provider is a more platform agnostic way to wait for the cluster availability than using a local-exec. With this change we're able to provision EKS clusters and manage the aws_auth configmap while still using the hashicorp/tfc-agent docker image.

v15.2.0

04 May 21:09
65ba9de
Compare
Choose a tag to compare

FEATURES:

  • Add tags on additional IAM resources like IAM policies, instance profile, OIDC provider (#1321)
  • Allow to override cluster and workers egress CIDRs (#1237)
  • Allow to specify the managed cluster IAM role name (#1199)
  • Add support for ASG Warm Pools (#1310)
  • Add support for specifying elastic inference accelerator (#1176)
  • Create launch template for Managed Node Groups (#1138)

BUG FIXES:

  • Replace list with tolist function for working with terraform v0.15.0 (#1317)
  • Limit cluster_name when creating fargate IAM Role (#1270)
  • Add mission metadata block for launch configuration (#1301)
  • Add missing IAM permission for NLB with EIPs (#1226)
  • Change back the default disk type to gp2 (#1208)

DOCS:

  • Update helm instructions for irsa example (#1251)

v15.1.0

20 Apr 08:29
Compare
Choose a tag to compare

BUG FIXES:

  • Fixed list and map usage (#1307)

v15.0.0

20 Apr 08:28
Compare
Choose a tag to compare

BUG FIXES:

  • Updated code and version requirements to work with Terraform 0.15 (#1165)

v14.0.0

28 Jan 23:38
a26c9fd
Compare
Choose a tag to compare

FEATURES:

  • Add nitro enclave support for EKS (#1185)
  • Add support for service_ipv4_cidr for the EKS cluster (#1139)
  • Add the SPOT support for Managed Node Groups (#1129)
  • Use gp3 as default as it saves 20% and is more performant (#1134)
  • Allow the overwrite of subnets for Fargate profiles (#1117)
  • Add support for throughput parameter for gp3 volumes (#1146)
  • Add customizable Auto Scaling Group health check type (#1118)
  • Add permissions boundary to fargate execution IAM role (#1108)

ENHANCEMENTS:

  • Dont set -x in userdata to avoid printing sensitive informations in logs (#1187)

BUG FIXES:

  • Merge tags from Fargate profiles with common tags from cluster (#1159)

DOCS:

  • Update changelog generation to use custom sort with git-chglog v0.10.0 (#1202)
  • Bump IRSA example dependencies to versions which work with TF 0.14 (#1184)
  • Change instance type from t2 to t3 in examples (#1169)
  • Fix typos in README and CONTRIBUTING (#1167)
  • Make it more obvious that var.cluster_iam_role_name will allow reusing an existing IAM Role for the cluster. (#1133)
  • Fixes typo in variables description (#1154)
  • Fix a typo in the aws-auth section of the README (#1099)

BREAKING CHANGES:

  • To add add SPOT support for MNG, the instance_type is now a list and renamed as instance_types. This will probably rebuild existing Managed Node Groups.
  • The default root volume type is now gp3 as it saves 20% and is more performant

NOTES:

  • The EKS cluster can be provisioned with both private and public subnets. But Fargate only accepts private ones. This new variable allows to override the subnets to explicitly pass the private subnets to Fargate and work around that issue.

v13.2.1

12 Nov 10:04
e4520d2
Compare
Choose a tag to compare

DOCS:

  • Clarify usage of both AWS-Managed Node Groups and Self-Managed Worker Groups (#1094)

ENHANCEMENTS:

  • Tags passed into worker groups should also be excluded from Launch Template tag specification (#1095)

BUG FIXES:

  • Don’t add empty Roles ARN in aws-auth configmap, specifically when no Fargate profiles are specified (#1096)

v13.2.0

07 Nov 22:12
669736f
Compare
Choose a tag to compare

FEATURES:

  • Add EKS Fargate support (#1067)
  • Tags passed into worker groups override tags from var.tags for Autoscaling Groups (#1092)

BUG FIXES:

  • Change the default launch_template_id to null for Managed Node Groups (#1088)

DOCS:

  • Fix IRSA example when deploying cluster-autoscaler from the latest kubernetes/autoscaler helm repo (#1090)
  • Explain node_groups and worker_groups difference in FAQ (#1081)
  • Update autoscaler installation in IRSA example (#1063)

NOTES:

  • Tags that are passed into var.worker_groups_launch_template or var.worker_groups now override tags passed in via var.tags for Autoscaling Groups only. This allow ASG Tags to be overwritten, so that propagate_at_launch can be tweaked for a particular key.

v13.1.0

02 Nov 07:44
3379e59
Compare
Choose a tag to compare

FEATURES:

  • Add Launch Template support for Managed Node Groups (#997)
  • Add cloudwatch_log_group_arn to outputs (#1071)
  • Add kubernetes standard labels to avoid manual mistakes on the managed aws-auth configmap (#989)

CI:

  • Use ubuntu-latest instead of MacOS for docs checks (#1074)
  • Fix GitHub Actions CI macOS build errors (#1065)

BUG FIXES:

  • The type of the output cloudwatch_log_group_name should be a string instead of a list of strings (#1061)
  • Use splat syntax to avoid errors during destroy with an empty state (#1041)
  • Fix cycle error during the destroy phase when we change workers order (#1043)
  • Set IAM Path for cluster_elb_sl_role_creation IAM policy (#1045)
  • Use the amazon ImageOwnerAlias for worker ami owner instead of owner id (#1038)

NOTES:

  • Managed Node Groups now support Launch Templates. The Launch Template it self is not managed by this module, so you have to create it by your self and pass it's id to this module. See docs and examples/launch_templates_with_managed_node_groups/ for more details.
  • The output cloudwatch_log_group_name was incorrectly returning the log group name as a list of strings. As a workaround, people were using module.eks_cluster.cloudwatch_log_group_name[0] but that was totally inconsistent with output name. Those users can now use module.eks_cluster.cloudwatch_log_group_name directly.
  • Keep in mind that changing the order of workers group is a destructive operation. All workers group are destroyed and recreated. If you want to do this safely, you should move then in state with terraform state mv until we manage workers groups as maps.