mirror of
https://github.com/ysoftdevs/terraform-aws-eks.git
synced 2026-01-17 09:07:20 +01:00
feat: Add support for ML capacity block reservations with EKS managed node group(s) (#3091)
This commit is contained in:
@@ -176,7 +176,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.40 |
|
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.57 |
|
||||||
| <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 |
|
||||||
|
|
||||||
@@ -184,7 +184,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.40 |
|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.57 |
|
||||||
| <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 |
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
aws = {
|
aws = {
|
||||||
source = "hashicorp/aws"
|
source = "hashicorp/aws"
|
||||||
version = ">= 5.40"
|
version = ">= 5.57"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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.40 |
|
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.57 |
|
||||||
| <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.40 |
|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.57 |
|
||||||
| <a name="provider_aws.virginia"></a> [aws.virginia](#provider\_aws.virginia) | >= 5.40 |
|
| <a name="provider_aws.virginia"></a> [aws.virginia](#provider\_aws.virginia) | >= 5.57 |
|
||||||
| <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.40"
|
version = ">= 5.57"
|
||||||
}
|
}
|
||||||
helm = {
|
helm = {
|
||||||
source = "hashicorp/helm"
|
source = "hashicorp/helm"
|
||||||
|
|||||||
@@ -46,14 +46,14 @@ terraform destroy --auto-approve
|
|||||||
| 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.40 |
|
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.57 |
|
||||||
| <a name="requirement_kubernetes"></a> [kubernetes](#requirement\_kubernetes) | >= 2.20 |
|
| <a name="requirement_kubernetes"></a> [kubernetes](#requirement\_kubernetes) | >= 2.20 |
|
||||||
|
|
||||||
## Providers
|
## Providers
|
||||||
|
|
||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.40 |
|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.57 |
|
||||||
| <a name="provider_kubernetes"></a> [kubernetes](#provider\_kubernetes) | >= 2.20 |
|
| <a name="provider_kubernetes"></a> [kubernetes](#provider\_kubernetes) | >= 2.20 |
|
||||||
|
|
||||||
## Modules
|
## Modules
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
aws = {
|
aws = {
|
||||||
source = "hashicorp/aws"
|
source = "hashicorp/aws"
|
||||||
version = ">= 5.40"
|
version = ">= 5.57"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
aws = {
|
aws = {
|
||||||
source = "hashicorp/aws"
|
source = "hashicorp/aws"
|
||||||
version = ">= 5.40"
|
version = ">= 5.57"
|
||||||
}
|
}
|
||||||
kubernetes = {
|
kubernetes = {
|
||||||
source = "hashicorp/kubernetes"
|
source = "hashicorp/kubernetes"
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
aws = {
|
aws = {
|
||||||
source = "hashicorp/aws"
|
source = "hashicorp/aws"
|
||||||
version = ">= 5.40"
|
version = ">= 5.57"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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.40 |
|
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.57 |
|
||||||
|
|
||||||
## Providers
|
## Providers
|
||||||
|
|
||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.40 |
|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.57 |
|
||||||
|
|
||||||
## Modules
|
## Modules
|
||||||
|
|
||||||
|
|||||||
@@ -203,10 +203,11 @@ resource "aws_launch_template" "this" {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# # Set on node group instead
|
# Instance type(s) are generally set on the node group,
|
||||||
# instance_type = var.launch_template_instance_type
|
# except when a ML capacity block reseravtion is used
|
||||||
kernel_id = var.kernel_id
|
instance_type = var.capacity_type == "CAPACITY_BLOCK" ? element(var.instance_types, 0) : null
|
||||||
key_name = var.key_name
|
kernel_id = var.kernel_id
|
||||||
|
key_name = var.key_name
|
||||||
|
|
||||||
dynamic "license_specification" {
|
dynamic "license_specification" {
|
||||||
for_each = length(var.license_specifications) > 0 ? var.license_specifications : {}
|
for_each = length(var.license_specifications) > 0 ? var.license_specifications : {}
|
||||||
@@ -408,8 +409,9 @@ resource "aws_eks_node_group" "this" {
|
|||||||
capacity_type = var.capacity_type
|
capacity_type = var.capacity_type
|
||||||
disk_size = var.use_custom_launch_template ? null : var.disk_size # if using a custom LT, set disk size on custom LT or else it will error here
|
disk_size = var.use_custom_launch_template ? null : var.disk_size # if using a custom LT, set disk size on custom LT or else it will error here
|
||||||
force_update_version = var.force_update_version
|
force_update_version = var.force_update_version
|
||||||
instance_types = var.instance_types
|
# ML capacity block reservation requires instance type to be set on the launch template
|
||||||
labels = var.labels
|
instance_types = var.capacity_type == "CAPACITY_BLOCK" ? null : var.instance_types
|
||||||
|
labels = var.labels
|
||||||
|
|
||||||
dynamic "launch_template" {
|
dynamic "launch_template" {
|
||||||
for_each = var.use_custom_launch_template ? [1] : []
|
for_each = var.use_custom_launch_template ? [1] : []
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
aws = {
|
aws = {
|
||||||
source = "hashicorp/aws"
|
source = "hashicorp/aws"
|
||||||
version = ">= 5.40"
|
version = ">= 5.57"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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.40 |
|
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.57 |
|
||||||
|
|
||||||
## Providers
|
## Providers
|
||||||
|
|
||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.40 |
|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.57 |
|
||||||
|
|
||||||
## Modules
|
## Modules
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
aws = {
|
aws = {
|
||||||
source = "hashicorp/aws"
|
source = "hashicorp/aws"
|
||||||
version = ">= 5.40"
|
version = ">= 5.57"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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.40 |
|
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.57 |
|
||||||
|
|
||||||
## Providers
|
## Providers
|
||||||
|
|
||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.40 |
|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.57 |
|
||||||
|
|
||||||
## Modules
|
## Modules
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
aws = {
|
aws = {
|
||||||
source = "hashicorp/aws"
|
source = "hashicorp/aws"
|
||||||
version = ">= 5.40"
|
version = ">= 5.57"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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.40 |
|
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.57 |
|
||||||
|
|
||||||
## Providers
|
## Providers
|
||||||
|
|
||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.40 |
|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.57 |
|
||||||
|
|
||||||
## Modules
|
## Modules
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
aws = {
|
aws = {
|
||||||
source = "hashicorp/aws"
|
source = "hashicorp/aws"
|
||||||
version = ">= 5.40"
|
version = ">= 5.57"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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.40 |
|
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.57 |
|
||||||
|
|
||||||
## Providers
|
## Providers
|
||||||
|
|
||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.40 |
|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.57 |
|
||||||
|
|
||||||
## Modules
|
## Modules
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
aws = {
|
aws = {
|
||||||
source = "hashicorp/aws"
|
source = "hashicorp/aws"
|
||||||
version = ">= 5.40"
|
version = ">= 5.57"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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.40 |
|
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.57 |
|
||||||
|
|
||||||
## Providers
|
## Providers
|
||||||
|
|
||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.40 |
|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.57 |
|
||||||
|
|
||||||
## Modules
|
## Modules
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
aws = {
|
aws = {
|
||||||
source = "hashicorp/aws"
|
source = "hashicorp/aws"
|
||||||
version = ">= 5.40"
|
version = ">= 5.57"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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.40 |
|
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.57 |
|
||||||
|
|
||||||
## Providers
|
## Providers
|
||||||
|
|
||||||
| Name | Version |
|
| Name | Version |
|
||||||
|------|---------|
|
|------|---------|
|
||||||
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.40 |
|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.57 |
|
||||||
|
|
||||||
## Modules
|
## Modules
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
aws = {
|
aws = {
|
||||||
source = "hashicorp/aws"
|
source = "hashicorp/aws"
|
||||||
version = ">= 5.40"
|
version = ">= 5.57"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ terraform {
|
|||||||
required_providers {
|
required_providers {
|
||||||
aws = {
|
aws = {
|
||||||
source = "hashicorp/aws"
|
source = "hashicorp/aws"
|
||||||
version = ">= 5.40"
|
version = ">= 5.57"
|
||||||
}
|
}
|
||||||
tls = {
|
tls = {
|
||||||
source = "hashicorp/tls"
|
source = "hashicorp/tls"
|
||||||
|
|||||||
Reference in New Issue
Block a user