EKS cluster with manged nodes can be deployed to a custom VPC, which is deployed in a difference workspace. Prebuilt EKS and VPC modules have been used to avoid reinventing the wheels.
- You want to create an EKS cluster and an autoscaling group of workers for the cluster.
- You want these resources to exist within security groups that allow communication and coordination. These can be user provided or created within the module.
- You've created a Virtual Private Cloud (VPC) and subnets where you intend to put the EKS resources. The VPC satisfies EKS requirements.
The cluster_version
is the required variable. Kubernetes is evolving a lot, and each major version includes new features, fixes, or changes.
Always check Kubernetes Release Notes before updating the major version.
You also need to ensure your applications and add ons are updated, or workloads could fail after the upgrade is complete. For action, you may need to take before upgrading, see the steps in the EKS documentation.
An example of harming update was the removal of several commonly used, but deprecated APIs, in Kubernetes 1.16. More information on the API removals, see the Kubernetes blog post.
By default, this module manages the aws-auth
configmap for you (manage_aws_auth=true
). To avoid the following issue where the EKS creation is ACTIVE
but not ready, we implemented a retry logic with an local-exec
provisioner and wget
(by default) with failover to curl
.
If you want to manage your aws-auth
configmap, ensure you have wget
(or curl
) and /bin/sh
installed where you're running Terraform or set wait_for_cluster_cmd
and wait_for_cluster_interpreter
to match your needs.
For windows users, please read the following doc.
- Autoscaling: How to enable worker node autoscaling.
- Enable Docker Bridge Network: How to enable the docker bridge network when using the EKS-optimized AMI, which disables it by default.
- Spot instances: How to use spot instances with this module.
- IAM Permissions: Minimum IAM permissions needed to setup EKS Cluster.
- FAQ: Frequently Asked Questions