Releases: terraform-aws-modules/terraform-aws-eks
Releases · terraform-aws-modules/terraform-aws-eks
v15.2.0
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
listwithtolistfunction 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
v15.0.0
v14.0.0
FEATURES:
- Add nitro enclave support for EKS (#1185)
- Add support for
service_ipv4_cidrfor the EKS cluster (#1139) - Add the SPOT support for Managed Node Groups (#1129)
- Use
gp3as 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
gp3volumes (#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
t2tot3in examples (#1169) - Fix typos in README and CONTRIBUTING (#1167)
- Make it more obvious that
var.cluster_iam_role_namewill allow reusing an existing IAM Role for the cluster. (#1133) - Fixes typo in variables description (#1154)
- Fix a typo in the
aws-authsection of the README (#1099)
BREAKING CHANGES:
- To add add SPOT support for MNG, the
instance_typeis now a list and renamed asinstance_types. This will probably rebuild existing Managed Node Groups. - The default root volume type is now
gp3as 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
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
FEATURES:
- Add EKS Fargate support (#1067)
- Tags passed into worker groups override tags from
var.tagsfor Autoscaling Groups (#1092)
BUG FIXES:
- Change the default
launch_template_idtonullfor 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_templateorvar.worker_groupsnow override tags passed in viavar.tagsfor Autoscaling Groups only. This allow ASG Tags to be overwritten, so thatpropagate_at_launchcan be tweaked for a particular key.
v13.1.0
FEATURES:
- Add Launch Template support for Managed Node Groups (#997)
- Add
cloudwatch_log_group_arnto outputs (#1071) - Add kubernetes standard labels to avoid manual mistakes on the managed
aws-authconfigmap (#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_nameshould 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_creationIAM policy (#1045) - Use the amazon
ImageOwnerAliasfor 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_namewas incorrectly returning the log group name as a list of strings. As a workaround, people were usingmodule.eks_cluster.cloudwatch_log_group_name[0]but that was totally inconsistent with output name. Those users can now usemodule.eks_cluster.cloudwatch_log_group_namedirectly. - 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 mvuntil we manage workers groups as maps.
v13.0.0
BUG FIXES:
- Use customer managed policy instead of inline policy for
cluster_elb_sl_role_creation(#1039) - More compatibility fixes for Terraform v0.13 and aws v3 (#976)
- Create
cluster_private_accesssecurity group rules when it should (#981) - random_pet with LT workers under 0.13.0 (#940)
ENHANCEMENTS:
- Make the
cpu_creditsoptional for workers launch template (#1030) - update the
wait_for_cluster_cmdlogic to usecurlifwgetdoesn't exist (#1002)
FEATURES:
- Add
load_balancersparameter to associate a CLB (Classic Load Balancer) to worker groups ASG (#992) - Dynamic Partition for IRSA to support AWS-CN Deployments (#1028)
- Add AmazonEKSVPCResourceController to cluster policy to be able to set AWS Security Groups for pod (#1011)
- Cluster version is now a required variable. (#972)
CI:
- Bump terraform pre-commit hook version and re-run terraform-docs with the latest version to fix the CI (#1033)
- fix CI lint job (#973)
DOCS:
- Add important notes about the retry logic and the
wgetrequirement (#999) - Update README about
cluster_versionvariable requirement (#988) - Mixed spot + on-demand instance documentation (#967)
- Describe key_name is about AWS EC2 key pairs (#970)
- Better documentation of
cluster_idoutput blocking (#955)
BREAKING CHANGES:
- Default for
cluster_endpoint_private_access_cidrsis nownullinstead of["0.0.0.0/0"]. It makes the variable required whencluster_create_endpoint_private_access_sg_ruleis set totrue. This will force everyone who want to have a private access to set explicitly their allowed subnets for the sake of the principle of least access by default. cluster_versionvariable is now required.
NOTES:
- The usage of customer managed policy, not an inline policy, for the
cluster_elb_sl_role_creation policyis common for "enterprise" AWS users to disallow inline policies with an SCP rule for auditing-related reasons, and this accomplishes the same thing. credit_specificationfor worker groups launch template can now be set tonullso that we can use non burstable EC2 families- Starting in v12.1.0 the
cluster_idoutput depends on the
wait_for_clusternull resource. This means that initialisation of the
kubernetes provider will be blocked until the cluster is really ready,
if the module is set to manage the aws_auth ConfigMap and user followed
the typical Usage Example. kubernetes resources in the same plan do not
need to depend on anything explicitly.
v12.2.0
DOCS:
- Update required IAM permissions list (#936)
- Improve FAQ on how to deploy from Windows (#927)
- autoscaler X.Y version must match (#928)
FEATURES:
- IMDSv2 metadata configuration in Launch Templates (#938)
- worker launch templates and configurations depend on security group rules and IAM policies (#933)
- Add IAM permissions for ELB svc-linked role creation by EKS cluster (#902)
- Add a homemade
depends_onfor MNG submodule to ensure ordering of resource creation (#867)
BUG FIXES:
- Strip user supplied Name tag from
asg_tags#946) - Get
on_demand_allocation_strategyfromlocal.workers_group_defaultswhen deciding to usemixed_instances_policy(#908) - remove unnecessary conditional in private access security group (#915)
NOTES:
- Addition of the IMDSv2 metadata configuration block to Launch Templates will cause a diff to be generated for existing Launch Templates on first Terraform apply. The defaults match existing behaviour.
v12.1.0
FEATURES:
- Add aws_security_group_rule.cluster_https_worker_ingress to output values (#901)
- Allow communication between pods on workers and pods using the primary cluster security group (optional) (#892)
BUG FIXES:
- Revert removal of templates provider (#883)
- Ensure kubeconfig ends with \n (#880)
- Work around path bug in aws-iam-authenticator (#894)
DOCS:
- Update FAQ (#891)
NOTES:
- New variable
worker_create_cluster_primary_security_group_rulesto allow communication between pods on workers and pods using the primary cluster security group (Managed Node Groups or Fargate). It defaults tofalseto avoid potential conflicts with existing security group rules users may have implemented.