feat: Add support for Managed Node Groups (node_groups) taints (#1424)

This commit is contained in:
Xiangxuan Liu
2021-06-04 06:11:15 +08:00
committed by GitHub
parent 4c1f272e29
commit e6d76d0a06
5 changed files with 22 additions and 3 deletions

View File

@@ -88,6 +88,13 @@ module "eks" {
additional_tags = { additional_tags = {
ExtraTag = "example" ExtraTag = "example"
} }
taints = [
{
key = "dedicated"
value = "gpuGroup"
effect = "NO_SCHEDULE"
}
]
} }
} }

View File

@@ -44,6 +44,7 @@ The role ARN specified in `var.default_iam_role_arn` will be used by default. In
| source\_security\_group\_ids | Source security groups for remote access to workers | list(string) | If key\_name is specified: THE REMOTE ACCESS WILL BE OPENED TO THE WORLD | | source\_security\_group\_ids | Source security groups for remote access to workers | list(string) | If key\_name is specified: THE REMOTE ACCESS WILL BE OPENED TO THE WORLD |
| subnets | Subnets to contain workers | list(string) | `var.workers_group_defaults[subnets]` | | subnets | Subnets to contain workers | list(string) | `var.workers_group_defaults[subnets]` |
| version | Kubernetes version | string | Provider default behavior | | version | Kubernetes version | string | Provider default behavior |
| taints | Kubernetes node taints | list(map) | empty |
<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK --> <!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
## Requirements ## Requirements
@@ -51,13 +52,13 @@ The role ARN specified in `var.default_iam_role_arn` will be used by default. In
| Name | Version | | Name | Version |
|------|---------| |------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 0.13.1 | | <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 0.13.1 |
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 3.40.0 | | <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 3.43.0 |
## Providers ## Providers
| Name | Version | | Name | Version |
|------|---------| |------|---------|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 3.40.0 | | <a name="provider_aws"></a> [aws](#provider\_aws) | >= 3.43.0 |
| <a name="provider_cloudinit"></a> [cloudinit](#provider\_cloudinit) | n/a | | <a name="provider_cloudinit"></a> [cloudinit](#provider\_cloudinit) | n/a |
## Modules ## Modules

View File

@@ -21,6 +21,7 @@ locals {
public_ip = var.workers_group_defaults["public_ip"] public_ip = var.workers_group_defaults["public_ip"]
pre_userdata = var.workers_group_defaults["pre_userdata"] pre_userdata = var.workers_group_defaults["pre_userdata"]
additional_security_group_ids = var.workers_group_defaults["additional_security_group_ids"] additional_security_group_ids = var.workers_group_defaults["additional_security_group_ids"]
taints = []
}, },
var.node_groups_defaults, var.node_groups_defaults,
v, v,

View File

@@ -57,6 +57,16 @@ resource "aws_eks_node_group" "workers" {
} }
} }
dynamic "taint" {
for_each = each.value["taints"]
content {
key = taint.value["key"]
value = taint.value["value"]
effect = taint.value["effect"]
}
}
version = lookup(each.value, "version", null) version = lookup(each.value, "version", null)
labels = merge( labels = merge(

View File

@@ -2,6 +2,6 @@ terraform {
required_version = ">= 0.13.1" required_version = ">= 0.13.1"
required_providers { required_providers {
aws = ">= 3.40.0" aws = ">= 3.43.0"
} }
} }