Commit Graph

99 Commits

Author SHA1 Message Date
DayneD89
4a7678d372 feat: Added ability to pass different subnets for fargate and the cluster (#1527) 2021-09-06 15:15:38 +02:00
nikitacr7
7512f171c9 feat: Add ability to tag network-interface using Launch Template (#1563) 2021-09-06 11:25:31 +02:00
Anton Babenko
40e47a4020 fix: Updated required version of AWS provider to 3.56.0 (#1571) 2021-09-04 10:46:48 +02:00
marianobilli
f23f729980 feat: Added support for update_config in EKS managed node groups (#1560) 2021-09-03 22:56:17 +02:00
Junaid Ali
bcea0708e6 feat: Added throughput support for root and EBS disks (#1445) 2021-09-02 12:28:13 +02:00
Olesia Ivanenko
8e1d5c11b7 feat: Tags passed into worker_groups_launch_template extend var.tags for the volumes (#1397) 2021-08-31 15:11:43 +02:00
Br0mZ
e3216e3cf8 docs: Fix cluster-autoscaler tags in irsa example (#1436) 2021-08-26 13:04:35 +02:00
Phileas Lebada
551c6d63bb fix: Discourage usage of iam_policy_attachment in example (#1529) 2021-08-26 13:02:16 +02:00
Ryan White
3b1229837a feat: Enable ebs_optimized setting for node_groups (#1459) 2021-08-25 15:21:08 +02:00
Xiangxuan Liu
e6d76d0a06 feat: Add support for Managed Node Groups (node_groups) taints (#1424) 2021-06-04 00:11:15 +02:00
Thierno IB. BARRY
6d7d6f6f5a feat: Drop random pets from Managed Node Groups (#1372)
BREAKING CHANGES: We now decided to remove `random_pet` resources in Managed Node Groups (MNG). Those were used to recreate MNG if something change and also simulate the newly added argument `node_group_name_prefix`. But they were causing a lot of troubles. To upgrade the module without recreating your MNG, you will need to explicitly reuse their previous name and set them in your MNG `name` argument. Please see [upgrade docs](https://github.com/terraform-aws-modules/terraform-aws-eks/blob/master/docs/upgrades.md#upgrade-module-to-v1700-for-managed-node-groups) for more details.
2021-05-28 01:50:16 +02:00
Thierno IB. BARRY
4818043617 feat: Add multiple selectors on the creation of Fargate profile (#1378)
BREAKING CHANGES: To support multiple selectors for Fargate profiles, we introduced the `selectors` argument which is a list of map. This will break previous configuration with  a single selector `namespace` and `labels`. You'll need to rewrite your configuration to use the `selectors` argument. See [examples](https://github.com/terraform-aws-modules/terraform-aws-eks/blob/master/examples/fargate/main.tf) dans [docs](https://github.com/terraform-aws-modules/terraform-aws-eks/blob/master/modules/fargate/README.md) for details.

Co-authored-by: Lena <lena.mantziou@nationwide.co.uk>
2021-05-27 23:00:41 +02:00
Gireesh Sreepathi
0c38b233d3 docs: Fix cluster autoscaler tags in IRSA example (#1204) 2021-05-19 21:23:35 +02:00
Andrey Devyatkin
70f6150956 docs: Add Bottlerocket example (#1296)
Signed-off-by: Andrey Devyatkin <andrey.devyatkin@fivexl.io>
2021-05-19 21:17:18 +02:00
Thierno IB. BARRY
06e9078bf4 feat: Search for Windows or Linux AMIs only if they are needed (#1371) 2021-05-19 16:47:40 +02:00
Benjamin Ash
a2761ad685 fix: set an ASG's launch template version to an explicit version to automatically trigger instance refresh (#1370)
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.

Signed-off-by: Benjamin Ash <bash@intelerad.com>
Co-authored-by: Thierno IB. BARRY <ibrahima.br@gmail.com>
2021-05-19 16:34:59 +02:00
Steve Hipwell
7c654a62b7 docs: Use IRSA for Node Termination Handler IAM policy attachement in Instance Refresh example (#1373) 2021-05-19 12:40:54 +02:00
Benjamin Ash
68e9df92c3 feat: Add support for Auto Scaling Group Instance Refresh for self-managed worker groups (#1224)
Co-authored-by: Thierno IB. BARRY <ibrahima.br@gmail.com>
2021-05-17 22:12:53 +02:00
Thierno IB. BARRY
5cbbe80302 fix: Remove provider from required providers (#1357) 2021-05-17 11:06:19 +02:00
Dov Salomon
f7d09a2901 feat: Remove dependency on deprecated hashicorp/template provider (#1297)
BREAKING CHANGES: 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.
2021-05-17 10:25:38 +02:00
Tom Stewart
b752b1d517 docs: update helm instructions for irsa example (#1251) 2021-04-19 23:16:17 +02:00
Rucha Kulkarni
26d40d2f1d feat: Add support for specifying elastic inference accelerator (#1176) 2021-04-19 22:46:17 +02:00
Tjeu Kayim
2a6f07a0e8 fix: Updated code and version requirements to work with Terraform 0.15 (#1165) 2021-04-16 09:56:37 +02:00
myoung34
84a3761742 improvement: Dont set -x in userdata to avoid printing sensitive informations in logs (#1187) 2021-01-28 23:54:38 +01:00
lukemarsden
6c08a92463 docs: Bump IRSA example dependencies to versions which work with TF 0.14 (#1184) 2021-01-28 23:37:45 +01:00
oscr
357e647ed5 docs: Change instance type from t2 to t3 in examples (#1169) 2021-01-28 23:26:35 +01:00
Jonathan Cole
8978997bb1 feat: Add the SPOT support for Managed Node Groups (#1129)
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.
2021-01-28 23:08:29 +01:00
Jonas Chevalier
576aa293f5 feat: Allow the overwrite of subnets for Fargate profiles (#1117)
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.
2021-01-28 22:46:53 +01:00
Thierno IB. BARRY
e5d26e1dcc docs: Clarify usage of both AWS-Managed Node Groups and Self-Managed Worker Groups (#1094) 2020-11-12 10:53:37 +01:00
Thierno IB. BARRY
0d77e30075 feat: Add EKS Fargate support (#1067)
Co-authored-by: Simon Gurcke <simon@gurcke.de>
Co-authored-by: Daniel Piddock <33028589+dpiddockcmp@users.noreply.github.com>
2020-11-07 23:03:12 +01:00
Brannon Dorsey
3cb8fa3d87 docs: Fix IRSA example when deploying cluster-autoscaler from the latest kubernetes/autoscaler helm repo (#1090) 2020-11-07 14:28:52 +01:00
Ary Kleinerman
e8a060f5ae docs: Update autoscaler installation in IRSA example (#1063) 2020-11-02 22:11:58 +01:00
Thierno IB. BARRY
571e4e7f4b chore: Use # for comments. It's the recommended way to start comment and it's more idiomatic (#1079) 2020-11-02 08:35:12 +01:00
philicious
127a3a8831 feat: Add Launch Template support for Managed Node Groups (#997)
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/`](https://github.com/terraform-aws-modules/terraform-aws-eks/tree/master/examples/launch_templates_with_managed_node_group) for more details.
2020-11-02 08:19:10 +01:00
Daniel Piddock
bceb966dfd fix: More compatibility fixes for Terraform v0.13 and aws v3 (#976)
Additional support for Terraform v0.13 and aws v3!
- The update to the vpc module in examples was, strictly speaking, unnecessary but it adds the terraform block with supported versions.
- Update for iam module in the example was very necessary to support new versions
- Workaround for "Provider produced inconsistent final plan" when creating ASGs at the same time as the cluster. See  https://github.com/terraform-providers/terraform-provider-aws/issues/14085 for full details.
- Blacklist 0.13.0 as it was too strict when migrating from aws v2 to v3 about dropped attributes.
2020-09-08 18:25:46 +02:00
Daniel Piddock
1bd5bf5ab9 feat: Cluster version is now a required variable. (#972)
BREAKING CHANGES: `cluster_version` variable is now required.
2020-08-14 16:06:53 +02:00
Daniel Piddock
7de18cd9cd fix: Revert removal of templates provider (#883)
Broke use case of passing in custom template content. Reverts most of the following PRs:
- #865
- #863 
- #854
2020-06-05 10:34:23 +02:00
Scott Crooks
99f59bfcc9 feat: Change EKS default version to 1.16 (#857) 2020-05-06 17:20:28 +02:00
Thierno IB. BARRY
4a8c79053a docs: Remove useless template provider in examples (#863) 2020-05-06 12:16:39 +02:00
Daniel Piddock
0c1ed0e6e9 Improvement: Require kubernetes provider >=1.11.1 (#784)
BREAKING CHANGE: The terraform-aws-eks module now require at least kubernetes `1.11.1`. This may cause terraform to fail to init if users have set version = "1.10" like we had in the examples.
2020-03-18 13:56:51 +01:00
Daniel Piddock
e8a1ce17d8 fix: Create false and avoid waiting forever for a non-existent cluster to respond (#789) 2020-03-18 08:54:57 +01:00
Scott Crooks
7dc56e976b EKS 1.15 Support (#776)
* chore(eks): Support EKS 1.15

* docs(changelog): Adding entry to CHANGELOG

* chore(examples): Removing VPC tags from merged PR #772

* docs(changelog): Adding 'breaking' to CHANGELOG entry
2020-03-11 17:06:55 +01:00
Wolodja Wentland
23c005e5ef Add EKS Secret envelope encryption support (#772)
This adds support for configuring EKS clusters that utilise envelope
encryption for Secrets:

- https://aws.amazon.com/about-aws/whats-new/2020/03/amazon-eks-adds-envelope-encryption-for-secrets-with-aws-kms/

- https://aws.amazon.com/blogs/containers/using-eks-encryption-provider-support-for-defense-in-depth/
2020-03-11 12:26:06 +01:00
Andres De Castro
dda244994d Pin version for kubernetes provider across examples to exactly 1.10.0 (#735)
* Update README.md

* Update main.tf

* Update main.tf

* Update main.tf

* Update main.tf

* Update main.tf

* Update README.md

* Update README.md

* Update CHANGELOG.md

Co-authored-by: Max Williams <max.williams@deliveryhero.com>
2020-02-27 11:36:32 +01:00
Max Williams
626a393ab9 Remove of autoscaling IAM policy related stuff (#716)
* Disable management of autoscaling IAM policy by default

* remove completely

* update changelog notes

* fix pre-commit stuff

* misc updates

* fmt

* fix changelog

* Removal of tags and update docs

* Change after updating terraform-docs

* Add second tag
2020-02-04 19:34:17 +01:00
Max Williams
9032dce006 Add example for IRSA and cluster-autoscaler (#710)
* Add example for IRSA

* remove unused SGs

* remove helm setup part

* simplification and use module

* fix fmt error

* remove unused resource
2020-01-30 15:21:20 +01:00
Max Williams
a9db852d44 Release 8.0.0 (#662)
* Release 8.0.0

* Update changelog

* remove 'defauls' node group

* Make curl silent
2020-01-09 14:10:47 +01:00
Daniel Piddock
11147e9af3 Node groups submodule (#650)
* WIP Move node_groups to a submodule

* Split the old node_groups file up

* Start moving locals

* Simplify IAM creation logic

* depends_on from the TF docs

* Wire in the variables

* Call module from parent

* Allow to customize the role name. As per workers

* aws_auth ConfigMap for node_groups

* Get the managed_node_groups example to plan

* Get the basic example to plan too

* create_eks = false works

"The true and false result expressions must have consistent types. The
given expressions are object and object, respectively."
Well, that's useful. But apparently set(string) and set() are ok. So
everything else is more complicated. Thanks.

* Update Changelog

* Update README

* Wire in node_groups_defaults

* Remove node_groups from workers_defaults_defaults

* Synchronize random and node_group defaults

* Error: "name_prefix" cannot be longer than 32

* Update READMEs again

* Fix double destroy

Was producing index errors when running destroy on an empty state.

* Remove duplicate iam_role in node_group

I think this logic works. Needs some testing with an externally created
role.

* Fix index fail if node group manually deleted

* Keep aws_auth template in top module

Downside: count causes issues as usual: can't use distinct() in the
child module so there's a template render for every node_group even if
only one role is really in use. Hopefully just output noise instead of
technical issue

* Hack to have node_groups depend on aws_auth etc

The AWS Node Groups create or edit the aws-auth ConfigMap so that nodes
can join the cluster. This breaks the kubernetes resource which cannot
do a force create. Remove the race condition with explicit depend.

Can't pull the IAM role out of the node_group any more.

* Pull variables via the random_pet to cut logic

No point having the same logic in two different places

* Pass all ForceNew variables through the pet

* Do a deep merge of NG labels and tags

* Update README.. again

* Additional managed node outputs #644

Add change from @TBeijin from PR #644

* Remove unused local

* Use more for_each

* Remove the change when create_eks = false

* Make documentation less confusing

* node_group version user configurable

* Pass through raw output from aws_eks_node_groups

* Merge workers defaults in the locals

This simplifies the random_pet and aws_eks_node_group logic. Which was
causing much consernation on the PR.

* Fix typo

Co-authored-by: Max Williams <max.williams@deliveryhero.com>
2020-01-09 12:53:08 +01:00
Jeff Hastings
11d8ee8631 Fix idempotency with node group remote_access block (#625)
* add kubernetes provider configuration for managed_node_groups example

* use dynamic block for remote_access

* update changelog
2019-12-11 17:50:09 +01:00
William Morgan
cf3dcc5c58 Support for EKS Managed Node Groups (#602)
* Finished first cut of managed node groups

* Updated formatting and extra fields.

* Updating Changelog and README

* Fixing formatting

* Fixing docs.

* Updating required Version

* Updating changelog

* Adding example for managed node groups

* Managed IAM Roles for Nodegroups now have correct policies. Tags can now be added to node groups.

* Fixing bug where people could set source_security_group_ids without setting ssh key causing a race condition within the aws provider.

* Adding lifecycle create_before_destroy

* Adding random pet names for create_before_destroy

* Updating per comments.

* Updating required versions of terraform

* Updating per comments.

* Updating vars

* Updating minimum version for terraform

* Change worker_groups_managed_node_groups to node_groups

* Using for_each on the random_pet

* Adding changes recommended by @eytanhanig

* Update node_groups.tf
2019-12-04 18:30:36 +01:00