From 22a43bba710331a00872c214fec08c881ba43972 Mon Sep 17 00:00:00 2001 From: drfaust92 Date: Thu, 2 Oct 2025 21:42:46 -0400 Subject: [PATCH 1/5] add support for transparent huge pages configs Signed-off-by: drfaust92 --- README.md | 2 ++ autogen/main/cluster.tf.tmpl | 8 ++++++- autogen/main/variables.tf.tmpl | 22 +++++++++++++++++++ autogen/main/variables_defaults.tf.tmpl | 20 +++++++++++++++++ cluster.tf | 8 ++++++- metadata.display.yaml | 6 +++++ metadata.yaml | 12 ++++++++++ .../README.md | 2 ++ .../cluster.tf | 8 ++++++- .../metadata.display.yaml | 6 +++++ .../metadata.yaml | 12 ++++++++++ .../variables.tf | 22 +++++++++++++++++++ .../variables_defaults.tf | 20 +++++++++++++++++ modules/beta-private-cluster/README.md | 2 ++ modules/beta-private-cluster/cluster.tf | 8 ++++++- .../metadata.display.yaml | 6 +++++ modules/beta-private-cluster/metadata.yaml | 12 ++++++++++ modules/beta-private-cluster/variables.tf | 22 +++++++++++++++++++ .../variables_defaults.tf | 20 +++++++++++++++++ .../README.md | 2 ++ .../cluster.tf | 8 ++++++- .../metadata.display.yaml | 6 +++++ .../metadata.yaml | 12 ++++++++++ .../variables.tf | 22 +++++++++++++++++++ .../variables_defaults.tf | 20 +++++++++++++++++ modules/beta-public-cluster/README.md | 2 ++ modules/beta-public-cluster/cluster.tf | 8 ++++++- .../beta-public-cluster/metadata.display.yaml | 6 +++++ modules/beta-public-cluster/metadata.yaml | 12 ++++++++++ modules/beta-public-cluster/variables.tf | 22 +++++++++++++++++++ .../beta-public-cluster/variables_defaults.tf | 20 +++++++++++++++++ .../private-cluster-update-variant/README.md | 2 ++ .../private-cluster-update-variant/cluster.tf | 8 ++++++- .../metadata.display.yaml | 6 +++++ .../metadata.yaml | 12 ++++++++++ .../variables.tf | 22 +++++++++++++++++++ .../variables_defaults.tf | 20 +++++++++++++++++ modules/private-cluster/README.md | 2 ++ modules/private-cluster/cluster.tf | 8 ++++++- modules/private-cluster/metadata.display.yaml | 6 +++++ modules/private-cluster/metadata.yaml | 12 ++++++++++ modules/private-cluster/variables.tf | 22 +++++++++++++++++++ modules/private-cluster/variables_defaults.tf | 20 +++++++++++++++++ variables.tf | 22 +++++++++++++++++++ variables_defaults.tf | 20 +++++++++++++++++ 45 files changed, 532 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 7fc4457bed..cfa05efb90 100644 --- a/README.md +++ b/README.md @@ -250,6 +250,8 @@ Then perform the following commands on the root folder: | node\_pools\_resource\_manager\_tags | Map of maps containing resource manager tags by node-pool name | `map(map(string))` |
{
"all": {},
"default-node-pool": {}
}
| no | | node\_pools\_tags | Map of lists containing node network tags by node-pool name | `map(list(string))` |
{
"all": [],
"default-node-pool": []
}
| no | | node\_pools\_taints | Map of lists containing node taints by node-pool name | `map(list(object({ key = string, value = string, effect = string })))` |
{
"all": [],
"default-node-pool": []
}
| no | +| node\_pools\_transparent\_hugepage\_defrag | Map of strings containing transparent hugepage defrag node config by node-pool name | `map(string)` |
{
"all": "",
"default-node-pool": ""
}
| no | +| node\_pools\_transparent\_hugepage\_enabled | Map of strings containing transparent hugepage enabled node config by node-pool name | `map(string)` |
{
"all": "",
"default-node-pool": ""
}
| no | | non\_masquerade\_cidrs | List of strings in CIDR notation that specify the IP address ranges that do not use IP masquerading. | `list(string)` |
[
"10.0.0.0/8",
"172.16.0.0/12",
"192.168.0.0/16"
]
| no | | notification\_config\_topic | The desired Pub/Sub topic to which notifications will be sent by GKE. Format is projects/{project}/topics/{topic}. | `string` | `""` | no | | notification\_filter\_event\_type | Choose what type of notifications you want to receive. If no filters are applied, you'll receive all notification types. Can be used to filter what notifications are sent. Accepted values are UPGRADE\_AVAILABLE\_EVENT, UPGRADE\_EVENT, and SECURITY\_BULLETIN\_EVENT. | `list(string)` | `[]` | no | diff --git a/autogen/main/cluster.tf.tmpl b/autogen/main/cluster.tf.tmpl index ea4ae487cd..69915d328b 100644 --- a/autogen/main/cluster.tf.tmpl +++ b/autogen/main/cluster.tf.tmpl @@ -1315,6 +1315,10 @@ resource "google_container_node_pool" "windows_pools" { local.node_pools_linux_node_configs_sysctls[each.value["name"]], local.node_pools_cgroup_mode["all"] == "" ? {} : { cgroup = local.node_pools_cgroup_mode["all"] }, local.node_pools_cgroup_mode[each.value["name"]] == "" ? {} : {cgroup = local.node_pools_cgroup_mode[each.value["name"]]}, + local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled["all"] }, + local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled[each.value["name"]] }, + local.node_pools_transparent_hugepage_defrag["all"] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag["all"] }, + local.node_pools_transparent_hugepage_defrag[each.value["name"]] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag[each.value["name"]] }, local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] }, local.node_pools_hugepage_size_2m[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m[each.value["name"]] }, local.node_pools_hugepage_size_1g["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_1g["all"] }, @@ -1326,7 +1330,9 @@ resource "google_container_node_pool" "windows_pools" { local.node_pools_linux_node_configs_sysctls["all"], local.node_pools_linux_node_configs_sysctls[each.value["name"]] ) - cgroup_mode = try(coalesce(local.node_pools_cgroup_mode[each.value["name"]], local.node_pools_cgroup_mode["all"]), null) + cgroup_mode = try(coalesce(local.node_pools_cgroup_mode[each.value["name"]], local.node_pools_cgroup_mode["all"]), null) + transparent_hugepage_enabled = try(coalesce(local.node_pools_transparent_hugepage_enabled[each.value["name"]], local.node_pools_transparent_hugepage_enabled["all"]), null) + transparent_hugepage_defrag = try(coalesce(local.node_pools_transparent_hugepage_defrag[each.value["name"]], local.node_pools_transparent_hugepage_defrag["all"]), null) dynamic "hugepages_config" { for_each = length(merge( local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] }, diff --git a/autogen/main/variables.tf.tmpl b/autogen/main/variables.tf.tmpl index e0bb56bd16..6b9d8f6ba7 100644 --- a/autogen/main/variables.tf.tmpl +++ b/autogen/main/variables.tf.tmpl @@ -274,6 +274,28 @@ variable "node_pools_cgroup_mode" { } } +variable "node_pools_transparent_hugepage_enabled" { + type = map(string) + description = "Map of strings containing transparent hugepage enabled node config by node-pool name" + + # Default is being set in variables_defaults.tf + default = { + all = "" + default-node-pool = "" + } +} + +variable "node_pools_transparent_hugepage_defrag" { + type = map(string) + description = "Map of strings containing transparent hugepage defrag node config by node-pool name" + + # Default is being set in variables_defaults.tf + default = { + all = "" + default-node-pool = "" + } +} + variable "node_pools_hugepage_size_2m" { type = map(string) description = "Map of strings containing hugepage size 2m node config by node-pool name" diff --git a/autogen/main/variables_defaults.tf.tmpl b/autogen/main/variables_defaults.tf.tmpl index 95138d7d1f..55ce39935c 100644 --- a/autogen/main/variables_defaults.tf.tmpl +++ b/autogen/main/variables_defaults.tf.tmpl @@ -139,6 +139,26 @@ locals { var.node_pools_cgroup_mode ) + node_pools_transparent_hugepage_enabled = merge( + { all = "" }, + { default-node-pool = "" }, + zipmap( + [for node_pool in var.node_pools : node_pool["name"]], + [for node_pool in var.node_pools : ""] + ), + var.node_pools_transparent_hugepage_enabled + ) + + node_pools_transparent_hugepage_defrag = merge( + { all = "" }, + { default-node-pool = "" }, + zipmap( + [for node_pool in var.node_pools : node_pool["name"]], + [for node_pool in var.node_pools : ""] + ), + var.node_pools_transparent_hugepage_defrag + ) + node_pools_hugepage_size_2m = merge( { all = "" }, { default-node-pool = "" }, diff --git a/cluster.tf b/cluster.tf index 47e9451f5d..ae63ca003c 100644 --- a/cluster.tf +++ b/cluster.tf @@ -997,6 +997,10 @@ resource "google_container_node_pool" "pools" { local.node_pools_linux_node_configs_sysctls[each.value["name"]], local.node_pools_cgroup_mode["all"] == "" ? {} : { cgroup = local.node_pools_cgroup_mode["all"] }, local.node_pools_cgroup_mode[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_cgroup_mode[each.value["name"]] }, + local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled["all"] }, + local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled[each.value["name"]] }, + local.node_pools_transparent_hugepage_defrag["all"] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag["all"] }, + local.node_pools_transparent_hugepage_defrag[each.value["name"]] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag[each.value["name"]] }, local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] }, local.node_pools_hugepage_size_2m[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m[each.value["name"]] }, local.node_pools_hugepage_size_1g["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_1g["all"] }, @@ -1008,7 +1012,9 @@ resource "google_container_node_pool" "pools" { local.node_pools_linux_node_configs_sysctls["all"], local.node_pools_linux_node_configs_sysctls[each.value["name"]] ) - cgroup_mode = try(coalesce(local.node_pools_cgroup_mode[each.value["name"]], local.node_pools_cgroup_mode["all"]), null) + cgroup_mode = try(coalesce(local.node_pools_cgroup_mode[each.value["name"]], local.node_pools_cgroup_mode["all"]), null) + transparent_hugepage_enabled = try(coalesce(local.node_pools_transparent_hugepage_enabled[each.value["name"]], local.node_pools_transparent_hugepage_enabled["all"]), null) + transparent_hugepage_defrag = try(coalesce(local.node_pools_transparent_hugepage_defrag[each.value["name"]], local.node_pools_transparent_hugepage_defrag["all"]), null) dynamic "hugepages_config" { for_each = length(merge( local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] }, diff --git a/metadata.display.yaml b/metadata.display.yaml index 52c2d68f03..9c6accecb8 100644 --- a/metadata.display.yaml +++ b/metadata.display.yaml @@ -360,6 +360,12 @@ spec: node_pools_taints: name: node_pools_taints title: Node Pools Taints + node_pools_transparent_hugepage_defrag: + name: node_pools_transparent_hugepage_defrag + title: Node Pools Transparent Hugepage Defrag + node_pools_transparent_hugepage_enabled: + name: node_pools_transparent_hugepage_enabled + title: Node Pools Transparent Hugepage Enabled non_masquerade_cidrs: name: non_masquerade_cidrs title: Non Masquerade Cidrs diff --git a/metadata.yaml b/metadata.yaml index 68ea36f764..34f4bdad12 100644 --- a/metadata.yaml +++ b/metadata.yaml @@ -317,6 +317,18 @@ spec: defaultValue: all: "" default-node-pool: "" + - name: node_pools_transparent_hugepage_enabled + description: Map of strings containing transparent hugepage enabled node config by node-pool name + varType: map(string) + defaultValue: + all: "" + default-node-pool: "" + - name: node_pools_transparent_hugepage_defrag + description: Map of strings containing transparent hugepage defrag node config by node-pool name + varType: map(string) + defaultValue: + all: "" + default-node-pool: "" - name: node_pools_hugepage_size_2m description: Map of strings containing hugepage size 2m node config by node-pool name varType: map(string) diff --git a/modules/beta-private-cluster-update-variant/README.md b/modules/beta-private-cluster-update-variant/README.md index 353a3cd865..4600623c56 100644 --- a/modules/beta-private-cluster-update-variant/README.md +++ b/modules/beta-private-cluster-update-variant/README.md @@ -294,6 +294,8 @@ Then perform the following commands on the root folder: | node\_pools\_resource\_manager\_tags | Map of maps containing resource manager tags by node-pool name | `map(map(string))` |
{
"all": {},
"default-node-pool": {}
}
| no | | node\_pools\_tags | Map of lists containing node network tags by node-pool name | `map(list(string))` |
{
"all": [],
"default-node-pool": []
}
| no | | node\_pools\_taints | Map of lists containing node taints by node-pool name | `map(list(object({ key = string, value = string, effect = string })))` |
{
"all": [],
"default-node-pool": []
}
| no | +| node\_pools\_transparent\_hugepage\_defrag | Map of strings containing transparent hugepage defrag node config by node-pool name | `map(string)` |
{
"all": "",
"default-node-pool": ""
}
| no | +| node\_pools\_transparent\_hugepage\_enabled | Map of strings containing transparent hugepage enabled node config by node-pool name | `map(string)` |
{
"all": "",
"default-node-pool": ""
}
| no | | non\_masquerade\_cidrs | List of strings in CIDR notation that specify the IP address ranges that do not use IP masquerading. | `list(string)` |
[
"10.0.0.0/8",
"172.16.0.0/12",
"192.168.0.0/16"
]
| no | | notification\_config\_topic | The desired Pub/Sub topic to which notifications will be sent by GKE. Format is projects/{project}/topics/{topic}. | `string` | `""` | no | | notification\_filter\_event\_type | Choose what type of notifications you want to receive. If no filters are applied, you'll receive all notification types. Can be used to filter what notifications are sent. Accepted values are UPGRADE\_AVAILABLE\_EVENT, UPGRADE\_EVENT, and SECURITY\_BULLETIN\_EVENT. | `list(string)` | `[]` | no | diff --git a/modules/beta-private-cluster-update-variant/cluster.tf b/modules/beta-private-cluster-update-variant/cluster.tf index 5df5f3e0e0..e31e00d68f 100644 --- a/modules/beta-private-cluster-update-variant/cluster.tf +++ b/modules/beta-private-cluster-update-variant/cluster.tf @@ -1163,6 +1163,10 @@ resource "google_container_node_pool" "pools" { local.node_pools_linux_node_configs_sysctls[each.value["name"]], local.node_pools_cgroup_mode["all"] == "" ? {} : { cgroup = local.node_pools_cgroup_mode["all"] }, local.node_pools_cgroup_mode[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_cgroup_mode[each.value["name"]] }, + local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled["all"] }, + local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled[each.value["name"]] }, + local.node_pools_transparent_hugepage_defrag["all"] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag["all"] }, + local.node_pools_transparent_hugepage_defrag[each.value["name"]] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag[each.value["name"]] }, local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] }, local.node_pools_hugepage_size_2m[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m[each.value["name"]] }, local.node_pools_hugepage_size_1g["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_1g["all"] }, @@ -1174,7 +1178,9 @@ resource "google_container_node_pool" "pools" { local.node_pools_linux_node_configs_sysctls["all"], local.node_pools_linux_node_configs_sysctls[each.value["name"]] ) - cgroup_mode = try(coalesce(local.node_pools_cgroup_mode[each.value["name"]], local.node_pools_cgroup_mode["all"]), null) + cgroup_mode = try(coalesce(local.node_pools_cgroup_mode[each.value["name"]], local.node_pools_cgroup_mode["all"]), null) + transparent_hugepage_enabled = try(coalesce(local.node_pools_transparent_hugepage_enabled[each.value["name"]], local.node_pools_transparent_hugepage_enabled["all"]), null) + transparent_hugepage_defrag = try(coalesce(local.node_pools_transparent_hugepage_defrag[each.value["name"]], local.node_pools_transparent_hugepage_defrag["all"]), null) dynamic "hugepages_config" { for_each = length(merge( local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] }, diff --git a/modules/beta-private-cluster-update-variant/metadata.display.yaml b/modules/beta-private-cluster-update-variant/metadata.display.yaml index cc12f38bae..30cad10e2c 100644 --- a/modules/beta-private-cluster-update-variant/metadata.display.yaml +++ b/modules/beta-private-cluster-update-variant/metadata.display.yaml @@ -400,6 +400,12 @@ spec: node_pools_taints: name: node_pools_taints title: Node Pools Taints + node_pools_transparent_hugepage_defrag: + name: node_pools_transparent_hugepage_defrag + title: Node Pools Transparent Hugepage Defrag + node_pools_transparent_hugepage_enabled: + name: node_pools_transparent_hugepage_enabled + title: Node Pools Transparent Hugepage Enabled non_masquerade_cidrs: name: non_masquerade_cidrs title: Non Masquerade Cidrs diff --git a/modules/beta-private-cluster-update-variant/metadata.yaml b/modules/beta-private-cluster-update-variant/metadata.yaml index 53989aad87..0c21b106fa 100644 --- a/modules/beta-private-cluster-update-variant/metadata.yaml +++ b/modules/beta-private-cluster-update-variant/metadata.yaml @@ -277,6 +277,18 @@ spec: defaultValue: all: "" default-node-pool: "" + - name: node_pools_transparent_hugepage_enabled + description: Map of strings containing transparent hugepage enabled node config by node-pool name + varType: map(string) + defaultValue: + all: "" + default-node-pool: "" + - name: node_pools_transparent_hugepage_defrag + description: Map of strings containing transparent hugepage defrag node config by node-pool name + varType: map(string) + defaultValue: + all: "" + default-node-pool: "" - name: node_pools_hugepage_size_2m description: Map of strings containing hugepage size 2m node config by node-pool name varType: map(string) diff --git a/modules/beta-private-cluster-update-variant/variables.tf b/modules/beta-private-cluster-update-variant/variables.tf index 2e1bc5b5ac..1af54bc8fd 100644 --- a/modules/beta-private-cluster-update-variant/variables.tf +++ b/modules/beta-private-cluster-update-variant/variables.tf @@ -254,6 +254,28 @@ variable "node_pools_cgroup_mode" { } } +variable "node_pools_transparent_hugepage_enabled" { + type = map(string) + description = "Map of strings containing transparent hugepage enabled node config by node-pool name" + + # Default is being set in variables_defaults.tf + default = { + all = "" + default-node-pool = "" + } +} + +variable "node_pools_transparent_hugepage_defrag" { + type = map(string) + description = "Map of strings containing transparent hugepage defrag node config by node-pool name" + + # Default is being set in variables_defaults.tf + default = { + all = "" + default-node-pool = "" + } +} + variable "node_pools_hugepage_size_2m" { type = map(string) description = "Map of strings containing hugepage size 2m node config by node-pool name" diff --git a/modules/beta-private-cluster-update-variant/variables_defaults.tf b/modules/beta-private-cluster-update-variant/variables_defaults.tf index efa9ecedd7..2627ff7739 100644 --- a/modules/beta-private-cluster-update-variant/variables_defaults.tf +++ b/modules/beta-private-cluster-update-variant/variables_defaults.tf @@ -138,6 +138,26 @@ locals { var.node_pools_cgroup_mode ) + node_pools_transparent_hugepage_enabled = merge( + { all = "" }, + { default-node-pool = "" }, + zipmap( + [for node_pool in var.node_pools : node_pool["name"]], + [for node_pool in var.node_pools : ""] + ), + var.node_pools_transparent_hugepage_enabled + ) + + node_pools_transparent_hugepage_defrag = merge( + { all = "" }, + { default-node-pool = "" }, + zipmap( + [for node_pool in var.node_pools : node_pool["name"]], + [for node_pool in var.node_pools : ""] + ), + var.node_pools_transparent_hugepage_defrag + ) + node_pools_hugepage_size_2m = merge( { all = "" }, { default-node-pool = "" }, diff --git a/modules/beta-private-cluster/README.md b/modules/beta-private-cluster/README.md index f305f18ec8..d4b4ee2228 100644 --- a/modules/beta-private-cluster/README.md +++ b/modules/beta-private-cluster/README.md @@ -272,6 +272,8 @@ Then perform the following commands on the root folder: | node\_pools\_resource\_manager\_tags | Map of maps containing resource manager tags by node-pool name | `map(map(string))` |
{
"all": {},
"default-node-pool": {}
}
| no | | node\_pools\_tags | Map of lists containing node network tags by node-pool name | `map(list(string))` |
{
"all": [],
"default-node-pool": []
}
| no | | node\_pools\_taints | Map of lists containing node taints by node-pool name | `map(list(object({ key = string, value = string, effect = string })))` |
{
"all": [],
"default-node-pool": []
}
| no | +| node\_pools\_transparent\_hugepage\_defrag | Map of strings containing transparent hugepage defrag node config by node-pool name | `map(string)` |
{
"all": "",
"default-node-pool": ""
}
| no | +| node\_pools\_transparent\_hugepage\_enabled | Map of strings containing transparent hugepage enabled node config by node-pool name | `map(string)` |
{
"all": "",
"default-node-pool": ""
}
| no | | non\_masquerade\_cidrs | List of strings in CIDR notation that specify the IP address ranges that do not use IP masquerading. | `list(string)` |
[
"10.0.0.0/8",
"172.16.0.0/12",
"192.168.0.0/16"
]
| no | | notification\_config\_topic | The desired Pub/Sub topic to which notifications will be sent by GKE. Format is projects/{project}/topics/{topic}. | `string` | `""` | no | | notification\_filter\_event\_type | Choose what type of notifications you want to receive. If no filters are applied, you'll receive all notification types. Can be used to filter what notifications are sent. Accepted values are UPGRADE\_AVAILABLE\_EVENT, UPGRADE\_EVENT, and SECURITY\_BULLETIN\_EVENT. | `list(string)` | `[]` | no | diff --git a/modules/beta-private-cluster/cluster.tf b/modules/beta-private-cluster/cluster.tf index b5006e6365..acaeb45a24 100644 --- a/modules/beta-private-cluster/cluster.tf +++ b/modules/beta-private-cluster/cluster.tf @@ -1077,6 +1077,10 @@ resource "google_container_node_pool" "pools" { local.node_pools_linux_node_configs_sysctls[each.value["name"]], local.node_pools_cgroup_mode["all"] == "" ? {} : { cgroup = local.node_pools_cgroup_mode["all"] }, local.node_pools_cgroup_mode[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_cgroup_mode[each.value["name"]] }, + local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled["all"] }, + local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled[each.value["name"]] }, + local.node_pools_transparent_hugepage_defrag["all"] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag["all"] }, + local.node_pools_transparent_hugepage_defrag[each.value["name"]] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag[each.value["name"]] }, local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] }, local.node_pools_hugepage_size_2m[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m[each.value["name"]] }, local.node_pools_hugepage_size_1g["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_1g["all"] }, @@ -1088,7 +1092,9 @@ resource "google_container_node_pool" "pools" { local.node_pools_linux_node_configs_sysctls["all"], local.node_pools_linux_node_configs_sysctls[each.value["name"]] ) - cgroup_mode = try(coalesce(local.node_pools_cgroup_mode[each.value["name"]], local.node_pools_cgroup_mode["all"]), null) + cgroup_mode = try(coalesce(local.node_pools_cgroup_mode[each.value["name"]], local.node_pools_cgroup_mode["all"]), null) + transparent_hugepage_enabled = try(coalesce(local.node_pools_transparent_hugepage_enabled[each.value["name"]], local.node_pools_transparent_hugepage_enabled["all"]), null) + transparent_hugepage_defrag = try(coalesce(local.node_pools_transparent_hugepage_defrag[each.value["name"]], local.node_pools_transparent_hugepage_defrag["all"]), null) dynamic "hugepages_config" { for_each = length(merge( local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] }, diff --git a/modules/beta-private-cluster/metadata.display.yaml b/modules/beta-private-cluster/metadata.display.yaml index da59c10609..e301bb7457 100644 --- a/modules/beta-private-cluster/metadata.display.yaml +++ b/modules/beta-private-cluster/metadata.display.yaml @@ -400,6 +400,12 @@ spec: node_pools_taints: name: node_pools_taints title: Node Pools Taints + node_pools_transparent_hugepage_defrag: + name: node_pools_transparent_hugepage_defrag + title: Node Pools Transparent Hugepage Defrag + node_pools_transparent_hugepage_enabled: + name: node_pools_transparent_hugepage_enabled + title: Node Pools Transparent Hugepage Enabled non_masquerade_cidrs: name: non_masquerade_cidrs title: Non Masquerade Cidrs diff --git a/modules/beta-private-cluster/metadata.yaml b/modules/beta-private-cluster/metadata.yaml index 004a54c476..42dbb90a98 100644 --- a/modules/beta-private-cluster/metadata.yaml +++ b/modules/beta-private-cluster/metadata.yaml @@ -277,6 +277,18 @@ spec: defaultValue: all: "" default-node-pool: "" + - name: node_pools_transparent_hugepage_enabled + description: Map of strings containing transparent hugepage enabled node config by node-pool name + varType: map(string) + defaultValue: + all: "" + default-node-pool: "" + - name: node_pools_transparent_hugepage_defrag + description: Map of strings containing transparent hugepage defrag node config by node-pool name + varType: map(string) + defaultValue: + all: "" + default-node-pool: "" - name: node_pools_hugepage_size_2m description: Map of strings containing hugepage size 2m node config by node-pool name varType: map(string) diff --git a/modules/beta-private-cluster/variables.tf b/modules/beta-private-cluster/variables.tf index 2e1bc5b5ac..1af54bc8fd 100644 --- a/modules/beta-private-cluster/variables.tf +++ b/modules/beta-private-cluster/variables.tf @@ -254,6 +254,28 @@ variable "node_pools_cgroup_mode" { } } +variable "node_pools_transparent_hugepage_enabled" { + type = map(string) + description = "Map of strings containing transparent hugepage enabled node config by node-pool name" + + # Default is being set in variables_defaults.tf + default = { + all = "" + default-node-pool = "" + } +} + +variable "node_pools_transparent_hugepage_defrag" { + type = map(string) + description = "Map of strings containing transparent hugepage defrag node config by node-pool name" + + # Default is being set in variables_defaults.tf + default = { + all = "" + default-node-pool = "" + } +} + variable "node_pools_hugepage_size_2m" { type = map(string) description = "Map of strings containing hugepage size 2m node config by node-pool name" diff --git a/modules/beta-private-cluster/variables_defaults.tf b/modules/beta-private-cluster/variables_defaults.tf index efa9ecedd7..2627ff7739 100644 --- a/modules/beta-private-cluster/variables_defaults.tf +++ b/modules/beta-private-cluster/variables_defaults.tf @@ -138,6 +138,26 @@ locals { var.node_pools_cgroup_mode ) + node_pools_transparent_hugepage_enabled = merge( + { all = "" }, + { default-node-pool = "" }, + zipmap( + [for node_pool in var.node_pools : node_pool["name"]], + [for node_pool in var.node_pools : ""] + ), + var.node_pools_transparent_hugepage_enabled + ) + + node_pools_transparent_hugepage_defrag = merge( + { all = "" }, + { default-node-pool = "" }, + zipmap( + [for node_pool in var.node_pools : node_pool["name"]], + [for node_pool in var.node_pools : ""] + ), + var.node_pools_transparent_hugepage_defrag + ) + node_pools_hugepage_size_2m = merge( { all = "" }, { default-node-pool = "" }, diff --git a/modules/beta-public-cluster-update-variant/README.md b/modules/beta-public-cluster-update-variant/README.md index e671233cd7..bf0ccfbabf 100644 --- a/modules/beta-public-cluster-update-variant/README.md +++ b/modules/beta-public-cluster-update-variant/README.md @@ -283,6 +283,8 @@ Then perform the following commands on the root folder: | node\_pools\_resource\_manager\_tags | Map of maps containing resource manager tags by node-pool name | `map(map(string))` |
{
"all": {},
"default-node-pool": {}
}
| no | | node\_pools\_tags | Map of lists containing node network tags by node-pool name | `map(list(string))` |
{
"all": [],
"default-node-pool": []
}
| no | | node\_pools\_taints | Map of lists containing node taints by node-pool name | `map(list(object({ key = string, value = string, effect = string })))` |
{
"all": [],
"default-node-pool": []
}
| no | +| node\_pools\_transparent\_hugepage\_defrag | Map of strings containing transparent hugepage defrag node config by node-pool name | `map(string)` |
{
"all": "",
"default-node-pool": ""
}
| no | +| node\_pools\_transparent\_hugepage\_enabled | Map of strings containing transparent hugepage enabled node config by node-pool name | `map(string)` |
{
"all": "",
"default-node-pool": ""
}
| no | | non\_masquerade\_cidrs | List of strings in CIDR notation that specify the IP address ranges that do not use IP masquerading. | `list(string)` |
[
"10.0.0.0/8",
"172.16.0.0/12",
"192.168.0.0/16"
]
| no | | notification\_config\_topic | The desired Pub/Sub topic to which notifications will be sent by GKE. Format is projects/{project}/topics/{topic}. | `string` | `""` | no | | notification\_filter\_event\_type | Choose what type of notifications you want to receive. If no filters are applied, you'll receive all notification types. Can be used to filter what notifications are sent. Accepted values are UPGRADE\_AVAILABLE\_EVENT, UPGRADE\_EVENT, and SECURITY\_BULLETIN\_EVENT. | `list(string)` | `[]` | no | diff --git a/modules/beta-public-cluster-update-variant/cluster.tf b/modules/beta-public-cluster-update-variant/cluster.tf index 0d3a3b285d..180f9e44df 100644 --- a/modules/beta-public-cluster-update-variant/cluster.tf +++ b/modules/beta-public-cluster-update-variant/cluster.tf @@ -1141,6 +1141,10 @@ resource "google_container_node_pool" "pools" { local.node_pools_linux_node_configs_sysctls[each.value["name"]], local.node_pools_cgroup_mode["all"] == "" ? {} : { cgroup = local.node_pools_cgroup_mode["all"] }, local.node_pools_cgroup_mode[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_cgroup_mode[each.value["name"]] }, + local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled["all"] }, + local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled[each.value["name"]] }, + local.node_pools_transparent_hugepage_defrag["all"] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag["all"] }, + local.node_pools_transparent_hugepage_defrag[each.value["name"]] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag[each.value["name"]] }, local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] }, local.node_pools_hugepage_size_2m[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m[each.value["name"]] }, local.node_pools_hugepage_size_1g["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_1g["all"] }, @@ -1152,7 +1156,9 @@ resource "google_container_node_pool" "pools" { local.node_pools_linux_node_configs_sysctls["all"], local.node_pools_linux_node_configs_sysctls[each.value["name"]] ) - cgroup_mode = try(coalesce(local.node_pools_cgroup_mode[each.value["name"]], local.node_pools_cgroup_mode["all"]), null) + cgroup_mode = try(coalesce(local.node_pools_cgroup_mode[each.value["name"]], local.node_pools_cgroup_mode["all"]), null) + transparent_hugepage_enabled = try(coalesce(local.node_pools_transparent_hugepage_enabled[each.value["name"]], local.node_pools_transparent_hugepage_enabled["all"]), null) + transparent_hugepage_defrag = try(coalesce(local.node_pools_transparent_hugepage_defrag[each.value["name"]], local.node_pools_transparent_hugepage_defrag["all"]), null) dynamic "hugepages_config" { for_each = length(merge( local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] }, diff --git a/modules/beta-public-cluster-update-variant/metadata.display.yaml b/modules/beta-public-cluster-update-variant/metadata.display.yaml index 695bdcaec1..750662d7e9 100644 --- a/modules/beta-public-cluster-update-variant/metadata.display.yaml +++ b/modules/beta-public-cluster-update-variant/metadata.display.yaml @@ -385,6 +385,12 @@ spec: node_pools_taints: name: node_pools_taints title: Node Pools Taints + node_pools_transparent_hugepage_defrag: + name: node_pools_transparent_hugepage_defrag + title: Node Pools Transparent Hugepage Defrag + node_pools_transparent_hugepage_enabled: + name: node_pools_transparent_hugepage_enabled + title: Node Pools Transparent Hugepage Enabled non_masquerade_cidrs: name: non_masquerade_cidrs title: Non Masquerade Cidrs diff --git a/modules/beta-public-cluster-update-variant/metadata.yaml b/modules/beta-public-cluster-update-variant/metadata.yaml index 6f9137cbc1..38af1c1b16 100644 --- a/modules/beta-public-cluster-update-variant/metadata.yaml +++ b/modules/beta-public-cluster-update-variant/metadata.yaml @@ -277,6 +277,18 @@ spec: defaultValue: all: "" default-node-pool: "" + - name: node_pools_transparent_hugepage_enabled + description: Map of strings containing transparent hugepage enabled node config by node-pool name + varType: map(string) + defaultValue: + all: "" + default-node-pool: "" + - name: node_pools_transparent_hugepage_defrag + description: Map of strings containing transparent hugepage defrag node config by node-pool name + varType: map(string) + defaultValue: + all: "" + default-node-pool: "" - name: node_pools_hugepage_size_2m description: Map of strings containing hugepage size 2m node config by node-pool name varType: map(string) diff --git a/modules/beta-public-cluster-update-variant/variables.tf b/modules/beta-public-cluster-update-variant/variables.tf index 690529e16e..1aa228ebc9 100644 --- a/modules/beta-public-cluster-update-variant/variables.tf +++ b/modules/beta-public-cluster-update-variant/variables.tf @@ -254,6 +254,28 @@ variable "node_pools_cgroup_mode" { } } +variable "node_pools_transparent_hugepage_enabled" { + type = map(string) + description = "Map of strings containing transparent hugepage enabled node config by node-pool name" + + # Default is being set in variables_defaults.tf + default = { + all = "" + default-node-pool = "" + } +} + +variable "node_pools_transparent_hugepage_defrag" { + type = map(string) + description = "Map of strings containing transparent hugepage defrag node config by node-pool name" + + # Default is being set in variables_defaults.tf + default = { + all = "" + default-node-pool = "" + } +} + variable "node_pools_hugepage_size_2m" { type = map(string) description = "Map of strings containing hugepage size 2m node config by node-pool name" diff --git a/modules/beta-public-cluster-update-variant/variables_defaults.tf b/modules/beta-public-cluster-update-variant/variables_defaults.tf index efa9ecedd7..2627ff7739 100644 --- a/modules/beta-public-cluster-update-variant/variables_defaults.tf +++ b/modules/beta-public-cluster-update-variant/variables_defaults.tf @@ -138,6 +138,26 @@ locals { var.node_pools_cgroup_mode ) + node_pools_transparent_hugepage_enabled = merge( + { all = "" }, + { default-node-pool = "" }, + zipmap( + [for node_pool in var.node_pools : node_pool["name"]], + [for node_pool in var.node_pools : ""] + ), + var.node_pools_transparent_hugepage_enabled + ) + + node_pools_transparent_hugepage_defrag = merge( + { all = "" }, + { default-node-pool = "" }, + zipmap( + [for node_pool in var.node_pools : node_pool["name"]], + [for node_pool in var.node_pools : ""] + ), + var.node_pools_transparent_hugepage_defrag + ) + node_pools_hugepage_size_2m = merge( { all = "" }, { default-node-pool = "" }, diff --git a/modules/beta-public-cluster/README.md b/modules/beta-public-cluster/README.md index 45d5fddb63..6fce21ef05 100644 --- a/modules/beta-public-cluster/README.md +++ b/modules/beta-public-cluster/README.md @@ -261,6 +261,8 @@ Then perform the following commands on the root folder: | node\_pools\_resource\_manager\_tags | Map of maps containing resource manager tags by node-pool name | `map(map(string))` |
{
"all": {},
"default-node-pool": {}
}
| no | | node\_pools\_tags | Map of lists containing node network tags by node-pool name | `map(list(string))` |
{
"all": [],
"default-node-pool": []
}
| no | | node\_pools\_taints | Map of lists containing node taints by node-pool name | `map(list(object({ key = string, value = string, effect = string })))` |
{
"all": [],
"default-node-pool": []
}
| no | +| node\_pools\_transparent\_hugepage\_defrag | Map of strings containing transparent hugepage defrag node config by node-pool name | `map(string)` |
{
"all": "",
"default-node-pool": ""
}
| no | +| node\_pools\_transparent\_hugepage\_enabled | Map of strings containing transparent hugepage enabled node config by node-pool name | `map(string)` |
{
"all": "",
"default-node-pool": ""
}
| no | | non\_masquerade\_cidrs | List of strings in CIDR notation that specify the IP address ranges that do not use IP masquerading. | `list(string)` |
[
"10.0.0.0/8",
"172.16.0.0/12",
"192.168.0.0/16"
]
| no | | notification\_config\_topic | The desired Pub/Sub topic to which notifications will be sent by GKE. Format is projects/{project}/topics/{topic}. | `string` | `""` | no | | notification\_filter\_event\_type | Choose what type of notifications you want to receive. If no filters are applied, you'll receive all notification types. Can be used to filter what notifications are sent. Accepted values are UPGRADE\_AVAILABLE\_EVENT, UPGRADE\_EVENT, and SECURITY\_BULLETIN\_EVENT. | `list(string)` | `[]` | no | diff --git a/modules/beta-public-cluster/cluster.tf b/modules/beta-public-cluster/cluster.tf index 3e60118cc7..e1d1800fed 100644 --- a/modules/beta-public-cluster/cluster.tf +++ b/modules/beta-public-cluster/cluster.tf @@ -1055,6 +1055,10 @@ resource "google_container_node_pool" "pools" { local.node_pools_linux_node_configs_sysctls[each.value["name"]], local.node_pools_cgroup_mode["all"] == "" ? {} : { cgroup = local.node_pools_cgroup_mode["all"] }, local.node_pools_cgroup_mode[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_cgroup_mode[each.value["name"]] }, + local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled["all"] }, + local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled[each.value["name"]] }, + local.node_pools_transparent_hugepage_defrag["all"] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag["all"] }, + local.node_pools_transparent_hugepage_defrag[each.value["name"]] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag[each.value["name"]] }, local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] }, local.node_pools_hugepage_size_2m[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m[each.value["name"]] }, local.node_pools_hugepage_size_1g["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_1g["all"] }, @@ -1066,7 +1070,9 @@ resource "google_container_node_pool" "pools" { local.node_pools_linux_node_configs_sysctls["all"], local.node_pools_linux_node_configs_sysctls[each.value["name"]] ) - cgroup_mode = try(coalesce(local.node_pools_cgroup_mode[each.value["name"]], local.node_pools_cgroup_mode["all"]), null) + cgroup_mode = try(coalesce(local.node_pools_cgroup_mode[each.value["name"]], local.node_pools_cgroup_mode["all"]), null) + transparent_hugepage_enabled = try(coalesce(local.node_pools_transparent_hugepage_enabled[each.value["name"]], local.node_pools_transparent_hugepage_enabled["all"]), null) + transparent_hugepage_defrag = try(coalesce(local.node_pools_transparent_hugepage_defrag[each.value["name"]], local.node_pools_transparent_hugepage_defrag["all"]), null) dynamic "hugepages_config" { for_each = length(merge( local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] }, diff --git a/modules/beta-public-cluster/metadata.display.yaml b/modules/beta-public-cluster/metadata.display.yaml index c195e7b846..52d77d1eb8 100644 --- a/modules/beta-public-cluster/metadata.display.yaml +++ b/modules/beta-public-cluster/metadata.display.yaml @@ -385,6 +385,12 @@ spec: node_pools_taints: name: node_pools_taints title: Node Pools Taints + node_pools_transparent_hugepage_defrag: + name: node_pools_transparent_hugepage_defrag + title: Node Pools Transparent Hugepage Defrag + node_pools_transparent_hugepage_enabled: + name: node_pools_transparent_hugepage_enabled + title: Node Pools Transparent Hugepage Enabled non_masquerade_cidrs: name: non_masquerade_cidrs title: Non Masquerade Cidrs diff --git a/modules/beta-public-cluster/metadata.yaml b/modules/beta-public-cluster/metadata.yaml index 9413bc0d98..c28bdf01b3 100644 --- a/modules/beta-public-cluster/metadata.yaml +++ b/modules/beta-public-cluster/metadata.yaml @@ -277,6 +277,18 @@ spec: defaultValue: all: "" default-node-pool: "" + - name: node_pools_transparent_hugepage_enabled + description: Map of strings containing transparent hugepage enabled node config by node-pool name + varType: map(string) + defaultValue: + all: "" + default-node-pool: "" + - name: node_pools_transparent_hugepage_defrag + description: Map of strings containing transparent hugepage defrag node config by node-pool name + varType: map(string) + defaultValue: + all: "" + default-node-pool: "" - name: node_pools_hugepage_size_2m description: Map of strings containing hugepage size 2m node config by node-pool name varType: map(string) diff --git a/modules/beta-public-cluster/variables.tf b/modules/beta-public-cluster/variables.tf index 690529e16e..1aa228ebc9 100644 --- a/modules/beta-public-cluster/variables.tf +++ b/modules/beta-public-cluster/variables.tf @@ -254,6 +254,28 @@ variable "node_pools_cgroup_mode" { } } +variable "node_pools_transparent_hugepage_enabled" { + type = map(string) + description = "Map of strings containing transparent hugepage enabled node config by node-pool name" + + # Default is being set in variables_defaults.tf + default = { + all = "" + default-node-pool = "" + } +} + +variable "node_pools_transparent_hugepage_defrag" { + type = map(string) + description = "Map of strings containing transparent hugepage defrag node config by node-pool name" + + # Default is being set in variables_defaults.tf + default = { + all = "" + default-node-pool = "" + } +} + variable "node_pools_hugepage_size_2m" { type = map(string) description = "Map of strings containing hugepage size 2m node config by node-pool name" diff --git a/modules/beta-public-cluster/variables_defaults.tf b/modules/beta-public-cluster/variables_defaults.tf index efa9ecedd7..2627ff7739 100644 --- a/modules/beta-public-cluster/variables_defaults.tf +++ b/modules/beta-public-cluster/variables_defaults.tf @@ -138,6 +138,26 @@ locals { var.node_pools_cgroup_mode ) + node_pools_transparent_hugepage_enabled = merge( + { all = "" }, + { default-node-pool = "" }, + zipmap( + [for node_pool in var.node_pools : node_pool["name"]], + [for node_pool in var.node_pools : ""] + ), + var.node_pools_transparent_hugepage_enabled + ) + + node_pools_transparent_hugepage_defrag = merge( + { all = "" }, + { default-node-pool = "" }, + zipmap( + [for node_pool in var.node_pools : node_pool["name"]], + [for node_pool in var.node_pools : ""] + ), + var.node_pools_transparent_hugepage_defrag + ) + node_pools_hugepage_size_2m = merge( { all = "" }, { default-node-pool = "" }, diff --git a/modules/private-cluster-update-variant/README.md b/modules/private-cluster-update-variant/README.md index 2e164137d2..92451ccfb3 100644 --- a/modules/private-cluster-update-variant/README.md +++ b/modules/private-cluster-update-variant/README.md @@ -283,6 +283,8 @@ Then perform the following commands on the root folder: | node\_pools\_resource\_manager\_tags | Map of maps containing resource manager tags by node-pool name | `map(map(string))` |
{
"all": {},
"default-node-pool": {}
}
| no | | node\_pools\_tags | Map of lists containing node network tags by node-pool name | `map(list(string))` |
{
"all": [],
"default-node-pool": []
}
| no | | node\_pools\_taints | Map of lists containing node taints by node-pool name | `map(list(object({ key = string, value = string, effect = string })))` |
{
"all": [],
"default-node-pool": []
}
| no | +| node\_pools\_transparent\_hugepage\_defrag | Map of strings containing transparent hugepage defrag node config by node-pool name | `map(string)` |
{
"all": "",
"default-node-pool": ""
}
| no | +| node\_pools\_transparent\_hugepage\_enabled | Map of strings containing transparent hugepage enabled node config by node-pool name | `map(string)` |
{
"all": "",
"default-node-pool": ""
}
| no | | non\_masquerade\_cidrs | List of strings in CIDR notation that specify the IP address ranges that do not use IP masquerading. | `list(string)` |
[
"10.0.0.0/8",
"172.16.0.0/12",
"192.168.0.0/16"
]
| no | | notification\_config\_topic | The desired Pub/Sub topic to which notifications will be sent by GKE. Format is projects/{project}/topics/{topic}. | `string` | `""` | no | | notification\_filter\_event\_type | Choose what type of notifications you want to receive. If no filters are applied, you'll receive all notification types. Can be used to filter what notifications are sent. Accepted values are UPGRADE\_AVAILABLE\_EVENT, UPGRADE\_EVENT, and SECURITY\_BULLETIN\_EVENT. | `list(string)` | `[]` | no | diff --git a/modules/private-cluster-update-variant/cluster.tf b/modules/private-cluster-update-variant/cluster.tf index 47b5769c14..fae737ad90 100644 --- a/modules/private-cluster-update-variant/cluster.tf +++ b/modules/private-cluster-update-variant/cluster.tf @@ -1104,6 +1104,10 @@ resource "google_container_node_pool" "pools" { local.node_pools_linux_node_configs_sysctls[each.value["name"]], local.node_pools_cgroup_mode["all"] == "" ? {} : { cgroup = local.node_pools_cgroup_mode["all"] }, local.node_pools_cgroup_mode[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_cgroup_mode[each.value["name"]] }, + local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled["all"] }, + local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled[each.value["name"]] }, + local.node_pools_transparent_hugepage_defrag["all"] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag["all"] }, + local.node_pools_transparent_hugepage_defrag[each.value["name"]] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag[each.value["name"]] }, local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] }, local.node_pools_hugepage_size_2m[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m[each.value["name"]] }, local.node_pools_hugepage_size_1g["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_1g["all"] }, @@ -1115,7 +1119,9 @@ resource "google_container_node_pool" "pools" { local.node_pools_linux_node_configs_sysctls["all"], local.node_pools_linux_node_configs_sysctls[each.value["name"]] ) - cgroup_mode = try(coalesce(local.node_pools_cgroup_mode[each.value["name"]], local.node_pools_cgroup_mode["all"]), null) + cgroup_mode = try(coalesce(local.node_pools_cgroup_mode[each.value["name"]], local.node_pools_cgroup_mode["all"]), null) + transparent_hugepage_enabled = try(coalesce(local.node_pools_transparent_hugepage_enabled[each.value["name"]], local.node_pools_transparent_hugepage_enabled["all"]), null) + transparent_hugepage_defrag = try(coalesce(local.node_pools_transparent_hugepage_defrag[each.value["name"]], local.node_pools_transparent_hugepage_defrag["all"]), null) dynamic "hugepages_config" { for_each = length(merge( local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] }, diff --git a/modules/private-cluster-update-variant/metadata.display.yaml b/modules/private-cluster-update-variant/metadata.display.yaml index aed100d6e0..91fe12d026 100644 --- a/modules/private-cluster-update-variant/metadata.display.yaml +++ b/modules/private-cluster-update-variant/metadata.display.yaml @@ -376,6 +376,12 @@ spec: node_pools_taints: name: node_pools_taints title: Node Pools Taints + node_pools_transparent_hugepage_defrag: + name: node_pools_transparent_hugepage_defrag + title: Node Pools Transparent Hugepage Defrag + node_pools_transparent_hugepage_enabled: + name: node_pools_transparent_hugepage_enabled + title: Node Pools Transparent Hugepage Enabled non_masquerade_cidrs: name: non_masquerade_cidrs title: Non Masquerade Cidrs diff --git a/modules/private-cluster-update-variant/metadata.yaml b/modules/private-cluster-update-variant/metadata.yaml index b17be146ac..c3a907e6ee 100644 --- a/modules/private-cluster-update-variant/metadata.yaml +++ b/modules/private-cluster-update-variant/metadata.yaml @@ -277,6 +277,18 @@ spec: defaultValue: all: "" default-node-pool: "" + - name: node_pools_transparent_hugepage_enabled + description: Map of strings containing transparent hugepage enabled node config by node-pool name + varType: map(string) + defaultValue: + all: "" + default-node-pool: "" + - name: node_pools_transparent_hugepage_defrag + description: Map of strings containing transparent hugepage defrag node config by node-pool name + varType: map(string) + defaultValue: + all: "" + default-node-pool: "" - name: node_pools_hugepage_size_2m description: Map of strings containing hugepage size 2m node config by node-pool name varType: map(string) diff --git a/modules/private-cluster-update-variant/variables.tf b/modules/private-cluster-update-variant/variables.tf index 3497aed147..d78099e832 100644 --- a/modules/private-cluster-update-variant/variables.tf +++ b/modules/private-cluster-update-variant/variables.tf @@ -254,6 +254,28 @@ variable "node_pools_cgroup_mode" { } } +variable "node_pools_transparent_hugepage_enabled" { + type = map(string) + description = "Map of strings containing transparent hugepage enabled node config by node-pool name" + + # Default is being set in variables_defaults.tf + default = { + all = "" + default-node-pool = "" + } +} + +variable "node_pools_transparent_hugepage_defrag" { + type = map(string) + description = "Map of strings containing transparent hugepage defrag node config by node-pool name" + + # Default is being set in variables_defaults.tf + default = { + all = "" + default-node-pool = "" + } +} + variable "node_pools_hugepage_size_2m" { type = map(string) description = "Map of strings containing hugepage size 2m node config by node-pool name" diff --git a/modules/private-cluster-update-variant/variables_defaults.tf b/modules/private-cluster-update-variant/variables_defaults.tf index efa9ecedd7..2627ff7739 100644 --- a/modules/private-cluster-update-variant/variables_defaults.tf +++ b/modules/private-cluster-update-variant/variables_defaults.tf @@ -138,6 +138,26 @@ locals { var.node_pools_cgroup_mode ) + node_pools_transparent_hugepage_enabled = merge( + { all = "" }, + { default-node-pool = "" }, + zipmap( + [for node_pool in var.node_pools : node_pool["name"]], + [for node_pool in var.node_pools : ""] + ), + var.node_pools_transparent_hugepage_enabled + ) + + node_pools_transparent_hugepage_defrag = merge( + { all = "" }, + { default-node-pool = "" }, + zipmap( + [for node_pool in var.node_pools : node_pool["name"]], + [for node_pool in var.node_pools : ""] + ), + var.node_pools_transparent_hugepage_defrag + ) + node_pools_hugepage_size_2m = merge( { all = "" }, { default-node-pool = "" }, diff --git a/modules/private-cluster/README.md b/modules/private-cluster/README.md index c23ea693e5..0877b0ef8f 100644 --- a/modules/private-cluster/README.md +++ b/modules/private-cluster/README.md @@ -261,6 +261,8 @@ Then perform the following commands on the root folder: | node\_pools\_resource\_manager\_tags | Map of maps containing resource manager tags by node-pool name | `map(map(string))` |
{
"all": {},
"default-node-pool": {}
}
| no | | node\_pools\_tags | Map of lists containing node network tags by node-pool name | `map(list(string))` |
{
"all": [],
"default-node-pool": []
}
| no | | node\_pools\_taints | Map of lists containing node taints by node-pool name | `map(list(object({ key = string, value = string, effect = string })))` |
{
"all": [],
"default-node-pool": []
}
| no | +| node\_pools\_transparent\_hugepage\_defrag | Map of strings containing transparent hugepage defrag node config by node-pool name | `map(string)` |
{
"all": "",
"default-node-pool": ""
}
| no | +| node\_pools\_transparent\_hugepage\_enabled | Map of strings containing transparent hugepage enabled node config by node-pool name | `map(string)` |
{
"all": "",
"default-node-pool": ""
}
| no | | non\_masquerade\_cidrs | List of strings in CIDR notation that specify the IP address ranges that do not use IP masquerading. | `list(string)` |
[
"10.0.0.0/8",
"172.16.0.0/12",
"192.168.0.0/16"
]
| no | | notification\_config\_topic | The desired Pub/Sub topic to which notifications will be sent by GKE. Format is projects/{project}/topics/{topic}. | `string` | `""` | no | | notification\_filter\_event\_type | Choose what type of notifications you want to receive. If no filters are applied, you'll receive all notification types. Can be used to filter what notifications are sent. Accepted values are UPGRADE\_AVAILABLE\_EVENT, UPGRADE\_EVENT, and SECURITY\_BULLETIN\_EVENT. | `list(string)` | `[]` | no | diff --git a/modules/private-cluster/cluster.tf b/modules/private-cluster/cluster.tf index 6692870264..ddfb444b02 100644 --- a/modules/private-cluster/cluster.tf +++ b/modules/private-cluster/cluster.tf @@ -1019,6 +1019,10 @@ resource "google_container_node_pool" "pools" { local.node_pools_linux_node_configs_sysctls[each.value["name"]], local.node_pools_cgroup_mode["all"] == "" ? {} : { cgroup = local.node_pools_cgroup_mode["all"] }, local.node_pools_cgroup_mode[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_cgroup_mode[each.value["name"]] }, + local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled["all"] }, + local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled[each.value["name"]] }, + local.node_pools_transparent_hugepage_defrag["all"] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag["all"] }, + local.node_pools_transparent_hugepage_defrag[each.value["name"]] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag[each.value["name"]] }, local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] }, local.node_pools_hugepage_size_2m[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m[each.value["name"]] }, local.node_pools_hugepage_size_1g["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_1g["all"] }, @@ -1030,7 +1034,9 @@ resource "google_container_node_pool" "pools" { local.node_pools_linux_node_configs_sysctls["all"], local.node_pools_linux_node_configs_sysctls[each.value["name"]] ) - cgroup_mode = try(coalesce(local.node_pools_cgroup_mode[each.value["name"]], local.node_pools_cgroup_mode["all"]), null) + cgroup_mode = try(coalesce(local.node_pools_cgroup_mode[each.value["name"]], local.node_pools_cgroup_mode["all"]), null) + transparent_hugepage_enabled = try(coalesce(local.node_pools_transparent_hugepage_enabled[each.value["name"]], local.node_pools_transparent_hugepage_enabled["all"]), null) + transparent_hugepage_defrag = try(coalesce(local.node_pools_transparent_hugepage_defrag[each.value["name"]], local.node_pools_transparent_hugepage_defrag["all"]), null) dynamic "hugepages_config" { for_each = length(merge( local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] }, diff --git a/modules/private-cluster/metadata.display.yaml b/modules/private-cluster/metadata.display.yaml index cb477ee70a..91aa9c970b 100644 --- a/modules/private-cluster/metadata.display.yaml +++ b/modules/private-cluster/metadata.display.yaml @@ -376,6 +376,12 @@ spec: node_pools_taints: name: node_pools_taints title: Node Pools Taints + node_pools_transparent_hugepage_defrag: + name: node_pools_transparent_hugepage_defrag + title: Node Pools Transparent Hugepage Defrag + node_pools_transparent_hugepage_enabled: + name: node_pools_transparent_hugepage_enabled + title: Node Pools Transparent Hugepage Enabled non_masquerade_cidrs: name: non_masquerade_cidrs title: Non Masquerade Cidrs diff --git a/modules/private-cluster/metadata.yaml b/modules/private-cluster/metadata.yaml index 3659fecb97..ebd7eb18f5 100644 --- a/modules/private-cluster/metadata.yaml +++ b/modules/private-cluster/metadata.yaml @@ -277,6 +277,18 @@ spec: defaultValue: all: "" default-node-pool: "" + - name: node_pools_transparent_hugepage_enabled + description: Map of strings containing transparent hugepage enabled node config by node-pool name + varType: map(string) + defaultValue: + all: "" + default-node-pool: "" + - name: node_pools_transparent_hugepage_defrag + description: Map of strings containing transparent hugepage defrag node config by node-pool name + varType: map(string) + defaultValue: + all: "" + default-node-pool: "" - name: node_pools_hugepage_size_2m description: Map of strings containing hugepage size 2m node config by node-pool name varType: map(string) diff --git a/modules/private-cluster/variables.tf b/modules/private-cluster/variables.tf index 3497aed147..d78099e832 100644 --- a/modules/private-cluster/variables.tf +++ b/modules/private-cluster/variables.tf @@ -254,6 +254,28 @@ variable "node_pools_cgroup_mode" { } } +variable "node_pools_transparent_hugepage_enabled" { + type = map(string) + description = "Map of strings containing transparent hugepage enabled node config by node-pool name" + + # Default is being set in variables_defaults.tf + default = { + all = "" + default-node-pool = "" + } +} + +variable "node_pools_transparent_hugepage_defrag" { + type = map(string) + description = "Map of strings containing transparent hugepage defrag node config by node-pool name" + + # Default is being set in variables_defaults.tf + default = { + all = "" + default-node-pool = "" + } +} + variable "node_pools_hugepage_size_2m" { type = map(string) description = "Map of strings containing hugepage size 2m node config by node-pool name" diff --git a/modules/private-cluster/variables_defaults.tf b/modules/private-cluster/variables_defaults.tf index efa9ecedd7..2627ff7739 100644 --- a/modules/private-cluster/variables_defaults.tf +++ b/modules/private-cluster/variables_defaults.tf @@ -138,6 +138,26 @@ locals { var.node_pools_cgroup_mode ) + node_pools_transparent_hugepage_enabled = merge( + { all = "" }, + { default-node-pool = "" }, + zipmap( + [for node_pool in var.node_pools : node_pool["name"]], + [for node_pool in var.node_pools : ""] + ), + var.node_pools_transparent_hugepage_enabled + ) + + node_pools_transparent_hugepage_defrag = merge( + { all = "" }, + { default-node-pool = "" }, + zipmap( + [for node_pool in var.node_pools : node_pool["name"]], + [for node_pool in var.node_pools : ""] + ), + var.node_pools_transparent_hugepage_defrag + ) + node_pools_hugepage_size_2m = merge( { all = "" }, { default-node-pool = "" }, diff --git a/variables.tf b/variables.tf index 101ad7ee59..9ad0cf2704 100644 --- a/variables.tf +++ b/variables.tf @@ -254,6 +254,28 @@ variable "node_pools_cgroup_mode" { } } +variable "node_pools_transparent_hugepage_enabled" { + type = map(string) + description = "Map of strings containing transparent hugepage enabled node config by node-pool name" + + # Default is being set in variables_defaults.tf + default = { + all = "" + default-node-pool = "" + } +} + +variable "node_pools_transparent_hugepage_defrag" { + type = map(string) + description = "Map of strings containing transparent hugepage defrag node config by node-pool name" + + # Default is being set in variables_defaults.tf + default = { + all = "" + default-node-pool = "" + } +} + variable "node_pools_hugepage_size_2m" { type = map(string) description = "Map of strings containing hugepage size 2m node config by node-pool name" diff --git a/variables_defaults.tf b/variables_defaults.tf index efa9ecedd7..2627ff7739 100644 --- a/variables_defaults.tf +++ b/variables_defaults.tf @@ -138,6 +138,26 @@ locals { var.node_pools_cgroup_mode ) + node_pools_transparent_hugepage_enabled = merge( + { all = "" }, + { default-node-pool = "" }, + zipmap( + [for node_pool in var.node_pools : node_pool["name"]], + [for node_pool in var.node_pools : ""] + ), + var.node_pools_transparent_hugepage_enabled + ) + + node_pools_transparent_hugepage_defrag = merge( + { all = "" }, + { default-node-pool = "" }, + zipmap( + [for node_pool in var.node_pools : node_pool["name"]], + [for node_pool in var.node_pools : ""] + ), + var.node_pools_transparent_hugepage_defrag + ) + node_pools_hugepage_size_2m = merge( { all = "" }, { default-node-pool = "" }, From 488601d255cb9afe285c0912508532450ba51017 Mon Sep 17 00:00:00 2001 From: drfaust92 Date: Mon, 17 Nov 2025 15:54:46 -0500 Subject: [PATCH 2/5] thp Signed-off-by: drfaust92 --- modules/gke-node-pool/metadata.display.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/gke-node-pool/metadata.display.yaml b/modules/gke-node-pool/metadata.display.yaml index 59c891c4e5..ea5c642218 100644 --- a/modules/gke-node-pool/metadata.display.yaml +++ b/modules/gke-node-pool/metadata.display.yaml @@ -62,9 +62,9 @@ spec: name: name: name title: Name - level: 1 regexValidation: ^[a-z]([a-z0-9-]{0,38}[a-z0-9])?$ validation: Node pool name must start with a lowercase letter followed by up to 39 lowercase letters, numbers, or hyphens and cannot end with a hyphen. + level: 1 name_prefix: name: name_prefix title: Name Prefix From 489cdab09a660c5f5dab9805c5f216392e8662db Mon Sep 17 00:00:00 2001 From: drfaust92 Date: Wed, 19 Nov 2025 15:50:03 -0500 Subject: [PATCH 3/5] thp Signed-off-by: drfaust92 --- examples/node_pool/main.tf | 9 +++++++++ .../node_pool/testdata/TestNodePool.json | 16 +++++++++++----- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/examples/node_pool/main.tf b/examples/node_pool/main.tf index 6781727fd8..5603d10472 100644 --- a/examples/node_pool/main.tf +++ b/examples/node_pool/main.tf @@ -193,6 +193,15 @@ module "gke" { node_pools_hugepage_size_1g = { pool-05 = "2" } + + node_pools_transparent_hugepage_enabled = { + all = "TRANSPARENT_HUGEPAGE_ENABLED_NEVER" + pool-01 = "TRANSPARENT_HUGEPAGE_ENABLED_ALWAYS" + } + + node_pools_transparent_hugepage_defrag = { + pool-05 = "TRANSPARENT_HUGEPAGE_DEFRAG_ALWAYS" + } } resource "google_compute_node_template" "soletenant-tmpl" { diff --git a/test/integration/node_pool/testdata/TestNodePool.json b/test/integration/node_pool/testdata/TestNodePool.json index 7c0ea673c2..c7af8a5837 100644 --- a/test/integration/node_pool/testdata/TestNodePool.json +++ b/test/integration/node_pool/testdata/TestNodePool.json @@ -335,7 +335,8 @@ }, "hugepages": { "hugepageSize2m": "2" - } + }, + "transparentHugepageEnabled": "TRANSPARENT_HUGEPAGE_ENABLED_ALWAYS" }, "loggingConfig": { "variantConfig": { @@ -435,7 +436,8 @@ }, "hugepages": { "hugepageSize2m": "1" - } + }, + "transparentHugepageEnabled": "TRANSPARENT_HUGEPAGE_ENABLED_NEVER" }, "loggingConfig": { "variantConfig": { @@ -524,7 +526,8 @@ }, "hugepages": { "hugepageSize2m": "1" - } + }, + "transparentHugepageEnabled": "TRANSPARENT_HUGEPAGE_ENABLED_NEVER" }, "loggingConfig": { "variantConfig": { @@ -620,7 +623,8 @@ }, "hugepages": { "hugepageSize2m": "1" - } + }, + "transparentHugepageEnabled": "TRANSPARENT_HUGEPAGE_ENABLED_NEVER" }, "loggingConfig": { "variantConfig": { @@ -717,7 +721,9 @@ "hugepages": { "hugepageSize2m": "1", "hugepageSize1g": "2" - } + }, + "transparentHugepageEnabled": "TRANSPARENT_HUGEPAGE_DEFRAG_ALWAYS", + "transparentHugepageDefrag": "TRANSPARENT_HUGEPAGE_DEFRAG_ALWAYS" }, "loggingConfig": { "variantConfig": { From 6093bbf4707f34bddc066db5e2ecfbb03333edca Mon Sep 17 00:00:00 2001 From: drfaust92 Date: Thu, 20 Nov 2025 09:48:07 -0500 Subject: [PATCH 4/5] thp Signed-off-by: drfaust92 --- test/integration/node_pool/testdata/TestNodePool.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/integration/node_pool/testdata/TestNodePool.json b/test/integration/node_pool/testdata/TestNodePool.json index c7af8a5837..3a3141defb 100644 --- a/test/integration/node_pool/testdata/TestNodePool.json +++ b/test/integration/node_pool/testdata/TestNodePool.json @@ -722,7 +722,7 @@ "hugepageSize2m": "1", "hugepageSize1g": "2" }, - "transparentHugepageEnabled": "TRANSPARENT_HUGEPAGE_DEFRAG_ALWAYS", + "transparentHugepageEnabled": "TRANSPARENT_HUGEPAGE_ENABLED_NEVER", "transparentHugepageDefrag": "TRANSPARENT_HUGEPAGE_DEFRAG_ALWAYS" }, "loggingConfig": { From f24c0707f83aef8e3bbca0bbf6f95e86a930b862 Mon Sep 17 00:00:00 2001 From: drfaust92 Date: Thu, 20 Nov 2025 10:07:57 -0500 Subject: [PATCH 5/5] thp Signed-off-by: drfaust92 --- autogen/main/cluster.tf.tmpl | 4 ++-- cluster.tf | 4 ++-- modules/beta-private-cluster-update-variant/cluster.tf | 4 ++-- modules/beta-private-cluster/cluster.tf | 4 ++-- modules/beta-public-cluster-update-variant/cluster.tf | 4 ++-- modules/beta-public-cluster/cluster.tf | 4 ++-- modules/private-cluster-update-variant/cluster.tf | 4 ++-- modules/private-cluster/cluster.tf | 4 ++-- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/autogen/main/cluster.tf.tmpl b/autogen/main/cluster.tf.tmpl index 69915d328b..7e88b99057 100644 --- a/autogen/main/cluster.tf.tmpl +++ b/autogen/main/cluster.tf.tmpl @@ -1315,8 +1315,8 @@ resource "google_container_node_pool" "windows_pools" { local.node_pools_linux_node_configs_sysctls[each.value["name"]], local.node_pools_cgroup_mode["all"] == "" ? {} : { cgroup = local.node_pools_cgroup_mode["all"] }, local.node_pools_cgroup_mode[each.value["name"]] == "" ? {} : {cgroup = local.node_pools_cgroup_mode[each.value["name"]]}, - local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled["all"] }, - local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled[each.value["name"]] }, + local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage_enabled = local.node_pools_transparent_hugepage_enabled["all"] }, + local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage_enabled = local.node_pools_transparent_hugepage_enabled[each.value["name"]] }, local.node_pools_transparent_hugepage_defrag["all"] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag["all"] }, local.node_pools_transparent_hugepage_defrag[each.value["name"]] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag[each.value["name"]] }, local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] }, diff --git a/cluster.tf b/cluster.tf index ae63ca003c..205e3bf187 100644 --- a/cluster.tf +++ b/cluster.tf @@ -997,8 +997,8 @@ resource "google_container_node_pool" "pools" { local.node_pools_linux_node_configs_sysctls[each.value["name"]], local.node_pools_cgroup_mode["all"] == "" ? {} : { cgroup = local.node_pools_cgroup_mode["all"] }, local.node_pools_cgroup_mode[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_cgroup_mode[each.value["name"]] }, - local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled["all"] }, - local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled[each.value["name"]] }, + local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage_enabled = local.node_pools_transparent_hugepage_enabled["all"] }, + local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage_enabled = local.node_pools_transparent_hugepage_enabled[each.value["name"]] }, local.node_pools_transparent_hugepage_defrag["all"] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag["all"] }, local.node_pools_transparent_hugepage_defrag[each.value["name"]] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag[each.value["name"]] }, local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] }, diff --git a/modules/beta-private-cluster-update-variant/cluster.tf b/modules/beta-private-cluster-update-variant/cluster.tf index e31e00d68f..a99c39dff5 100644 --- a/modules/beta-private-cluster-update-variant/cluster.tf +++ b/modules/beta-private-cluster-update-variant/cluster.tf @@ -1163,8 +1163,8 @@ resource "google_container_node_pool" "pools" { local.node_pools_linux_node_configs_sysctls[each.value["name"]], local.node_pools_cgroup_mode["all"] == "" ? {} : { cgroup = local.node_pools_cgroup_mode["all"] }, local.node_pools_cgroup_mode[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_cgroup_mode[each.value["name"]] }, - local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled["all"] }, - local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled[each.value["name"]] }, + local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage_enabled = local.node_pools_transparent_hugepage_enabled["all"] }, + local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage_enabled = local.node_pools_transparent_hugepage_enabled[each.value["name"]] }, local.node_pools_transparent_hugepage_defrag["all"] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag["all"] }, local.node_pools_transparent_hugepage_defrag[each.value["name"]] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag[each.value["name"]] }, local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] }, diff --git a/modules/beta-private-cluster/cluster.tf b/modules/beta-private-cluster/cluster.tf index acaeb45a24..60a5ff8f48 100644 --- a/modules/beta-private-cluster/cluster.tf +++ b/modules/beta-private-cluster/cluster.tf @@ -1077,8 +1077,8 @@ resource "google_container_node_pool" "pools" { local.node_pools_linux_node_configs_sysctls[each.value["name"]], local.node_pools_cgroup_mode["all"] == "" ? {} : { cgroup = local.node_pools_cgroup_mode["all"] }, local.node_pools_cgroup_mode[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_cgroup_mode[each.value["name"]] }, - local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled["all"] }, - local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled[each.value["name"]] }, + local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage_enabled = local.node_pools_transparent_hugepage_enabled["all"] }, + local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage_enabled = local.node_pools_transparent_hugepage_enabled[each.value["name"]] }, local.node_pools_transparent_hugepage_defrag["all"] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag["all"] }, local.node_pools_transparent_hugepage_defrag[each.value["name"]] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag[each.value["name"]] }, local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] }, diff --git a/modules/beta-public-cluster-update-variant/cluster.tf b/modules/beta-public-cluster-update-variant/cluster.tf index 180f9e44df..88aa967f45 100644 --- a/modules/beta-public-cluster-update-variant/cluster.tf +++ b/modules/beta-public-cluster-update-variant/cluster.tf @@ -1141,8 +1141,8 @@ resource "google_container_node_pool" "pools" { local.node_pools_linux_node_configs_sysctls[each.value["name"]], local.node_pools_cgroup_mode["all"] == "" ? {} : { cgroup = local.node_pools_cgroup_mode["all"] }, local.node_pools_cgroup_mode[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_cgroup_mode[each.value["name"]] }, - local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled["all"] }, - local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled[each.value["name"]] }, + local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage_enabled = local.node_pools_transparent_hugepage_enabled["all"] }, + local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage_enabled = local.node_pools_transparent_hugepage_enabled[each.value["name"]] }, local.node_pools_transparent_hugepage_defrag["all"] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag["all"] }, local.node_pools_transparent_hugepage_defrag[each.value["name"]] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag[each.value["name"]] }, local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] }, diff --git a/modules/beta-public-cluster/cluster.tf b/modules/beta-public-cluster/cluster.tf index e1d1800fed..7a40bea2de 100644 --- a/modules/beta-public-cluster/cluster.tf +++ b/modules/beta-public-cluster/cluster.tf @@ -1055,8 +1055,8 @@ resource "google_container_node_pool" "pools" { local.node_pools_linux_node_configs_sysctls[each.value["name"]], local.node_pools_cgroup_mode["all"] == "" ? {} : { cgroup = local.node_pools_cgroup_mode["all"] }, local.node_pools_cgroup_mode[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_cgroup_mode[each.value["name"]] }, - local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled["all"] }, - local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled[each.value["name"]] }, + local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage_enabled = local.node_pools_transparent_hugepage_enabled["all"] }, + local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage_enabled = local.node_pools_transparent_hugepage_enabled[each.value["name"]] }, local.node_pools_transparent_hugepage_defrag["all"] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag["all"] }, local.node_pools_transparent_hugepage_defrag[each.value["name"]] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag[each.value["name"]] }, local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] }, diff --git a/modules/private-cluster-update-variant/cluster.tf b/modules/private-cluster-update-variant/cluster.tf index fae737ad90..3ea633e455 100644 --- a/modules/private-cluster-update-variant/cluster.tf +++ b/modules/private-cluster-update-variant/cluster.tf @@ -1104,8 +1104,8 @@ resource "google_container_node_pool" "pools" { local.node_pools_linux_node_configs_sysctls[each.value["name"]], local.node_pools_cgroup_mode["all"] == "" ? {} : { cgroup = local.node_pools_cgroup_mode["all"] }, local.node_pools_cgroup_mode[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_cgroup_mode[each.value["name"]] }, - local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled["all"] }, - local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled[each.value["name"]] }, + local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage_enabled = local.node_pools_transparent_hugepage_enabled["all"] }, + local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage_enabled = local.node_pools_transparent_hugepage_enabled[each.value["name"]] }, local.node_pools_transparent_hugepage_defrag["all"] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag["all"] }, local.node_pools_transparent_hugepage_defrag[each.value["name"]] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag[each.value["name"]] }, local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] }, diff --git a/modules/private-cluster/cluster.tf b/modules/private-cluster/cluster.tf index ddfb444b02..5fb7f1b61f 100644 --- a/modules/private-cluster/cluster.tf +++ b/modules/private-cluster/cluster.tf @@ -1019,8 +1019,8 @@ resource "google_container_node_pool" "pools" { local.node_pools_linux_node_configs_sysctls[each.value["name"]], local.node_pools_cgroup_mode["all"] == "" ? {} : { cgroup = local.node_pools_cgroup_mode["all"] }, local.node_pools_cgroup_mode[each.value["name"]] == "" ? {} : { cgroup = local.node_pools_cgroup_mode[each.value["name"]] }, - local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled["all"] }, - local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage = local.node_pools_transparent_hugepage_enabled[each.value["name"]] }, + local.node_pools_transparent_hugepage_enabled["all"] == "" ? {} : { transparent_hugepage_enabled = local.node_pools_transparent_hugepage_enabled["all"] }, + local.node_pools_transparent_hugepage_enabled[each.value["name"]] == "" ? {} : { transparent_hugepage_enabled = local.node_pools_transparent_hugepage_enabled[each.value["name"]] }, local.node_pools_transparent_hugepage_defrag["all"] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag["all"] }, local.node_pools_transparent_hugepage_defrag[each.value["name"]] == "" ? {} : { transparent_hugepage_defrag = local.node_pools_transparent_hugepage_defrag[each.value["name"]] }, local.node_pools_hugepage_size_2m["all"] == "" ? {} : { cgroup = local.node_pools_hugepage_size_2m["all"] },