mirror of
https://github.com/ysoftdevs/terraform-aws-eks.git
synced 2026-03-27 03:41:05 +01:00
feat: Add support for zonal shift (#3195)
This commit is contained in:
@@ -175,7 +175,7 @@ We are grateful to the community for contributing bugfixes and improvements! Ple
|
|||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
||||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.70 |
|
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.74 |
|
||||||
| <a name="requirement_time"></a> [time](#requirement\_time) | >= 0.9 |
|
| <a name="requirement_time"></a> [time](#requirement\_time) | >= 0.9 |
|
||||||
| <a name="requirement_tls"></a> [tls](#requirement\_tls) | >= 3.0 |
|
| <a name="requirement_tls"></a> [tls](#requirement\_tls) | >= 3.0 |
|
||||||
|
|
||||||
@@ -183,7 +183,7 @@ We are grateful to the community for contributing bugfixes and improvements! Ple
|
|||||||
|
|
||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.70 |
|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.74 |
|
||||||
| <a name="provider_time"></a> [time](#provider\_time) | >= 0.9 |
|
| <a name="provider_time"></a> [time](#provider\_time) | >= 0.9 |
|
||||||
| <a name="provider_tls"></a> [tls](#provider\_tls) | >= 3.0 |
|
| <a name="provider_tls"></a> [tls](#provider\_tls) | >= 3.0 |
|
||||||
|
|
||||||
@@ -268,6 +268,7 @@ We are grateful to the community for contributing bugfixes and improvements! Ple
|
|||||||
| <a name="input_cluster_timeouts"></a> [cluster\_timeouts](#input\_cluster\_timeouts) | Create, update, and delete timeout configurations for the cluster | `map(string)` | `{}` | no |
|
| <a name="input_cluster_timeouts"></a> [cluster\_timeouts](#input\_cluster\_timeouts) | Create, update, and delete timeout configurations for the cluster | `map(string)` | `{}` | no |
|
||||||
| <a name="input_cluster_upgrade_policy"></a> [cluster\_upgrade\_policy](#input\_cluster\_upgrade\_policy) | Configuration block for the cluster upgrade policy | `any` | `{}` | no |
|
| <a name="input_cluster_upgrade_policy"></a> [cluster\_upgrade\_policy](#input\_cluster\_upgrade\_policy) | Configuration block for the cluster upgrade policy | `any` | `{}` | no |
|
||||||
| <a name="input_cluster_version"></a> [cluster\_version](#input\_cluster\_version) | Kubernetes `<major>.<minor>` version to use for the EKS cluster (i.e.: `1.27`) | `string` | `null` | no |
|
| <a name="input_cluster_version"></a> [cluster\_version](#input\_cluster\_version) | Kubernetes `<major>.<minor>` version to use for the EKS cluster (i.e.: `1.27`) | `string` | `null` | no |
|
||||||
|
| <a name="input_cluster_zonal_shift_config"></a> [cluster\_zonal\_shift\_config](#input\_cluster\_zonal\_shift\_config) | Configuration block for the cluster zonal shift | `any` | `{}` | no |
|
||||||
| <a name="input_control_plane_subnet_ids"></a> [control\_plane\_subnet\_ids](#input\_control\_plane\_subnet\_ids) | A list of subnet IDs where the EKS cluster control plane (ENIs) will be provisioned. Used for expanding the pool of subnets used by nodes/node groups without replacing the EKS control plane | `list(string)` | `[]` | no |
|
| <a name="input_control_plane_subnet_ids"></a> [control\_plane\_subnet\_ids](#input\_control\_plane\_subnet\_ids) | A list of subnet IDs where the EKS cluster control plane (ENIs) will be provisioned. Used for expanding the pool of subnets used by nodes/node groups without replacing the EKS control plane | `list(string)` | `[]` | no |
|
||||||
| <a name="input_create"></a> [create](#input\_create) | Controls if resources should be created (affects nearly all resources) | `bool` | `true` | no |
|
| <a name="input_create"></a> [create](#input\_create) | Controls if resources should be created (affects nearly all resources) | `bool` | `true` | no |
|
||||||
| <a name="input_create_cloudwatch_log_group"></a> [create\_cloudwatch\_log\_group](#input\_create\_cloudwatch\_log\_group) | Determines whether a log group is created by this module for the cluster logs. If not, AWS will automatically create one if logging is enabled | `bool` | `true` | no |
|
| <a name="input_create_cloudwatch_log_group"></a> [create\_cloudwatch\_log\_group](#input\_create\_cloudwatch\_log\_group) | Determines whether a log group is created by this module for the cluster logs. If not, AWS will automatically create one if logging is enabled | `bool` | `true` | no |
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
aws = {
|
aws = {
|
||||||
source = "hashicorp/aws"
|
source = "hashicorp/aws"
|
||||||
version = ">= 5.70"
|
version = ">= 5.74"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ Note that this example may create resources which cost money. Run `terraform des
|
|||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
||||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.70 |
|
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.74 |
|
||||||
| <a name="requirement_helm"></a> [helm](#requirement\_helm) | >= 2.7 |
|
| <a name="requirement_helm"></a> [helm](#requirement\_helm) | >= 2.7 |
|
||||||
| <a name="requirement_kubectl"></a> [kubectl](#requirement\_kubectl) | >= 2.0 |
|
| <a name="requirement_kubectl"></a> [kubectl](#requirement\_kubectl) | >= 2.0 |
|
||||||
|
|
||||||
@@ -97,8 +97,8 @@ Note that this example may create resources which cost money. Run `terraform des
|
|||||||
|
|
||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.70 |
|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.74 |
|
||||||
| <a name="provider_aws.virginia"></a> [aws.virginia](#provider\_aws.virginia) | >= 5.70 |
|
| <a name="provider_aws.virginia"></a> [aws.virginia](#provider\_aws.virginia) | >= 5.74 |
|
||||||
| <a name="provider_helm"></a> [helm](#provider\_helm) | >= 2.7 |
|
| <a name="provider_helm"></a> [helm](#provider\_helm) | >= 2.7 |
|
||||||
| <a name="provider_kubectl"></a> [kubectl](#provider\_kubectl) | >= 2.0 |
|
| <a name="provider_kubectl"></a> [kubectl](#provider\_kubectl) | >= 2.0 |
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
aws = {
|
aws = {
|
||||||
source = "hashicorp/aws"
|
source = "hashicorp/aws"
|
||||||
version = ">= 5.70"
|
version = ">= 5.74"
|
||||||
}
|
}
|
||||||
helm = {
|
helm = {
|
||||||
source = "hashicorp/helm"
|
source = "hashicorp/helm"
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
aws = {
|
aws = {
|
||||||
source = "hashicorp/aws"
|
source = "hashicorp/aws"
|
||||||
version = ">= 5.70"
|
version = ">= 5.74"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
8
main.tf
8
main.tf
@@ -92,6 +92,14 @@ resource "aws_eks_cluster" "this" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dynamic "zonal_shift_config" {
|
||||||
|
for_each = length(var.cluster_zonal_shift_config) > 0 ? [var.cluster_zonal_shift_config] : []
|
||||||
|
|
||||||
|
content {
|
||||||
|
enabled = try(zonal_shift_config.value.enabled, null)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
tags = merge(
|
tags = merge(
|
||||||
{ terraform-aws-modules = "eks" },
|
{ terraform-aws-modules = "eks" },
|
||||||
var.tags,
|
var.tags,
|
||||||
|
|||||||
@@ -64,13 +64,13 @@ module "eks_managed_node_group" {
|
|||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
||||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.70 |
|
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.74 |
|
||||||
|
|
||||||
## Providers
|
## Providers
|
||||||
|
|
||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.70 |
|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.74 |
|
||||||
|
|
||||||
## Modules
|
## Modules
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
aws = {
|
aws = {
|
||||||
source = "hashicorp/aws"
|
source = "hashicorp/aws"
|
||||||
version = ">= 5.70"
|
version = ">= 5.74"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,13 +29,13 @@ module "fargate_profile" {
|
|||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
||||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.70 |
|
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.74 |
|
||||||
|
|
||||||
## Providers
|
## Providers
|
||||||
|
|
||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.70 |
|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.74 |
|
||||||
|
|
||||||
## Modules
|
## Modules
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
aws = {
|
aws = {
|
||||||
source = "hashicorp/aws"
|
source = "hashicorp/aws"
|
||||||
version = ">= 5.70"
|
version = ">= 5.74"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -86,13 +86,13 @@ module "karpenter" {
|
|||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
||||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.70 |
|
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.74 |
|
||||||
|
|
||||||
## Providers
|
## Providers
|
||||||
|
|
||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.70 |
|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.74 |
|
||||||
|
|
||||||
## Modules
|
## Modules
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
aws = {
|
aws = {
|
||||||
source = "hashicorp/aws"
|
source = "hashicorp/aws"
|
||||||
version = ">= 5.70"
|
version = ">= 5.74"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,13 +43,13 @@ module "self_managed_node_group" {
|
|||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
||||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.70 |
|
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.74 |
|
||||||
|
|
||||||
## Providers
|
## Providers
|
||||||
|
|
||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.70 |
|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.74 |
|
||||||
|
|
||||||
## Modules
|
## Modules
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
aws = {
|
aws = {
|
||||||
source = "hashicorp/aws"
|
source = "hashicorp/aws"
|
||||||
version = ">= 5.70"
|
version = ">= 5.74"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,13 +18,13 @@ Note that this example may create resources which cost money. Run `terraform des
|
|||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
||||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.70 |
|
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.74 |
|
||||||
|
|
||||||
## Providers
|
## Providers
|
||||||
|
|
||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.70 |
|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.74 |
|
||||||
|
|
||||||
## Modules
|
## Modules
|
||||||
|
|
||||||
|
|||||||
@@ -65,6 +65,10 @@ module "eks" {
|
|||||||
support_type = "STANDARD"
|
support_type = "STANDARD"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cluster_zonal_shift_config = {
|
||||||
|
enabled = true
|
||||||
|
}
|
||||||
|
|
||||||
vpc_id = module.vpc.vpc_id
|
vpc_id = module.vpc.vpc_id
|
||||||
subnet_ids = module.vpc.private_subnets
|
subnet_ids = module.vpc.private_subnets
|
||||||
control_plane_subnet_ids = module.vpc.intra_subnets
|
control_plane_subnet_ids = module.vpc.intra_subnets
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
aws = {
|
aws = {
|
||||||
source = "hashicorp/aws"
|
source = "hashicorp/aws"
|
||||||
version = ">= 5.70"
|
version = ">= 5.74"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,13 +18,13 @@ Note that this example may create resources which cost money. Run `terraform des
|
|||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
||||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.70 |
|
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.74 |
|
||||||
|
|
||||||
## Providers
|
## Providers
|
||||||
|
|
||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.70 |
|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.74 |
|
||||||
|
|
||||||
## Modules
|
## Modules
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
aws = {
|
aws = {
|
||||||
source = "hashicorp/aws"
|
source = "hashicorp/aws"
|
||||||
version = ">= 5.70"
|
version = ">= 5.74"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,13 +18,13 @@ Note that this example may create resources which cost money. Run `terraform des
|
|||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
|
||||||
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.70 |
|
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.74 |
|
||||||
|
|
||||||
## Providers
|
## Providers
|
||||||
|
|
||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.70 |
|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.74 |
|
||||||
|
|
||||||
## Modules
|
## Modules
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
aws = {
|
aws = {
|
||||||
source = "hashicorp/aws"
|
source = "hashicorp/aws"
|
||||||
version = ">= 5.70"
|
version = ">= 5.74"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,6 +50,12 @@ variable "cluster_upgrade_policy" {
|
|||||||
default = {}
|
default = {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
variable "cluster_zonal_shift_config" {
|
||||||
|
description = "Configuration block for the cluster zonal shift"
|
||||||
|
type = any
|
||||||
|
default = {}
|
||||||
|
}
|
||||||
|
|
||||||
variable "cluster_additional_security_group_ids" {
|
variable "cluster_additional_security_group_ids" {
|
||||||
description = "List of additional, externally created security group IDs to attach to the cluster control plane"
|
description = "List of additional, externally created security group IDs to attach to the cluster control plane"
|
||||||
type = list(string)
|
type = list(string)
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
aws = {
|
aws = {
|
||||||
source = "hashicorp/aws"
|
source = "hashicorp/aws"
|
||||||
version = ">= 5.70"
|
version = ">= 5.74"
|
||||||
}
|
}
|
||||||
tls = {
|
tls = {
|
||||||
source = "hashicorp/tls"
|
source = "hashicorp/tls"
|
||||||
|
|||||||
Reference in New Issue
Block a user