diff --git a/autogen/main/cluster.tf.tmpl b/autogen/main/cluster.tf.tmpl index 68dd57636f..86f527fbbb 100644 --- a/autogen/main/cluster.tf.tmpl +++ b/autogen/main/cluster.tf.tmpl @@ -322,10 +322,20 @@ resource "google_container_cluster" "primary" { {% if autopilot_cluster != true %} dynamic "node_pool_auto_config" { - for_each = var.cluster_autoscaling.enabled && (length(var.network_tags) > 0 || var.add_cluster_firewall_rules) ? [1] : [] + for_each = var.cluster_autoscaling.enabled && (length(var.network_tags) > 0 || var.add_cluster_firewall_rules || local.node_pools_cgroup_mode != null) ? [1] : [] content { - network_tags { - tags = var.add_cluster_firewall_rules ? (concat(var.network_tags, [local.cluster_network_tag])) : var.network_tags + dynamic "network_tags" { + for_each = var.cluster_autoscaling.enabled && (length(var.network_tags) > 0 || var.add_cluster_firewall_rules) ? [1] : [] + content { + tags = var.add_cluster_firewall_rules ? (concat(var.network_tags, [local.cluster_network_tag])) : var.network_tags + } + } + + dynamic "linux_node_config" { + for_each = local.node_pools_cgroup_mode["all"] != "" ? [1] : [] + content { + cgroup_mode = local.node_pools_cgroup_mode["all"] + } } } } diff --git a/cluster.tf b/cluster.tf index 56c051812d..c1f485a29f 100644 --- a/cluster.tf +++ b/cluster.tf @@ -231,10 +231,20 @@ resource "google_container_cluster" "primary" { } dynamic "node_pool_auto_config" { - for_each = var.cluster_autoscaling.enabled && (length(var.network_tags) > 0 || var.add_cluster_firewall_rules) ? [1] : [] + for_each = var.cluster_autoscaling.enabled && (length(var.network_tags) > 0 || var.add_cluster_firewall_rules || local.node_pools_cgroup_mode != null) ? [1] : [] content { - network_tags { - tags = var.add_cluster_firewall_rules ? (concat(var.network_tags, [local.cluster_network_tag])) : var.network_tags + dynamic "network_tags" { + for_each = var.cluster_autoscaling.enabled && (length(var.network_tags) > 0 || var.add_cluster_firewall_rules) ? [1] : [] + content { + tags = var.add_cluster_firewall_rules ? (concat(var.network_tags, [local.cluster_network_tag])) : var.network_tags + } + } + + dynamic "linux_node_config" { + for_each = local.node_pools_cgroup_mode["all"] != "" ? [1] : [] + content { + cgroup_mode = local.node_pools_cgroup_mode["all"] + } } } } diff --git a/examples/node_pool/main.tf b/examples/node_pool/main.tf index 5f1241b027..76f3c50e3b 100644 --- a/examples/node_pool/main.tf +++ b/examples/node_pool/main.tf @@ -163,8 +163,8 @@ module "gke" { } node_pools_cgroup_mode = { - all = "CGROUP_MODE_V1" - pool-01 = "CGROUP_MODE_V2" + all = "CGROUP_MODE_V2" + pool-01 = "CGROUP_MODE_V1" } node_pools_hugepage_size_2m = { diff --git a/modules/beta-private-cluster-update-variant/cluster.tf b/modules/beta-private-cluster-update-variant/cluster.tf index 7be100dc71..eda9882601 100644 --- a/modules/beta-private-cluster-update-variant/cluster.tf +++ b/modules/beta-private-cluster-update-variant/cluster.tf @@ -244,10 +244,20 @@ resource "google_container_cluster" "primary" { } dynamic "node_pool_auto_config" { - for_each = var.cluster_autoscaling.enabled && (length(var.network_tags) > 0 || var.add_cluster_firewall_rules) ? [1] : [] + for_each = var.cluster_autoscaling.enabled && (length(var.network_tags) > 0 || var.add_cluster_firewall_rules || local.node_pools_cgroup_mode != null) ? [1] : [] content { - network_tags { - tags = var.add_cluster_firewall_rules ? (concat(var.network_tags, [local.cluster_network_tag])) : var.network_tags + dynamic "network_tags" { + for_each = var.cluster_autoscaling.enabled && (length(var.network_tags) > 0 || var.add_cluster_firewall_rules) ? [1] : [] + content { + tags = var.add_cluster_firewall_rules ? (concat(var.network_tags, [local.cluster_network_tag])) : var.network_tags + } + } + + dynamic "linux_node_config" { + for_each = local.node_pools_cgroup_mode["all"] != "" ? [1] : [] + content { + cgroup_mode = local.node_pools_cgroup_mode["all"] + } } } } diff --git a/modules/beta-private-cluster/cluster.tf b/modules/beta-private-cluster/cluster.tf index 568e5bc4d9..7c10c02e7f 100644 --- a/modules/beta-private-cluster/cluster.tf +++ b/modules/beta-private-cluster/cluster.tf @@ -244,10 +244,20 @@ resource "google_container_cluster" "primary" { } dynamic "node_pool_auto_config" { - for_each = var.cluster_autoscaling.enabled && (length(var.network_tags) > 0 || var.add_cluster_firewall_rules) ? [1] : [] + for_each = var.cluster_autoscaling.enabled && (length(var.network_tags) > 0 || var.add_cluster_firewall_rules || local.node_pools_cgroup_mode != null) ? [1] : [] content { - network_tags { - tags = var.add_cluster_firewall_rules ? (concat(var.network_tags, [local.cluster_network_tag])) : var.network_tags + dynamic "network_tags" { + for_each = var.cluster_autoscaling.enabled && (length(var.network_tags) > 0 || var.add_cluster_firewall_rules) ? [1] : [] + content { + tags = var.add_cluster_firewall_rules ? (concat(var.network_tags, [local.cluster_network_tag])) : var.network_tags + } + } + + dynamic "linux_node_config" { + for_each = local.node_pools_cgroup_mode["all"] != "" ? [1] : [] + content { + cgroup_mode = local.node_pools_cgroup_mode["all"] + } } } } diff --git a/modules/beta-public-cluster-update-variant/cluster.tf b/modules/beta-public-cluster-update-variant/cluster.tf index 7e5c32c87e..0510489877 100644 --- a/modules/beta-public-cluster-update-variant/cluster.tf +++ b/modules/beta-public-cluster-update-variant/cluster.tf @@ -244,10 +244,20 @@ resource "google_container_cluster" "primary" { } dynamic "node_pool_auto_config" { - for_each = var.cluster_autoscaling.enabled && (length(var.network_tags) > 0 || var.add_cluster_firewall_rules) ? [1] : [] + for_each = var.cluster_autoscaling.enabled && (length(var.network_tags) > 0 || var.add_cluster_firewall_rules || local.node_pools_cgroup_mode != null) ? [1] : [] content { - network_tags { - tags = var.add_cluster_firewall_rules ? (concat(var.network_tags, [local.cluster_network_tag])) : var.network_tags + dynamic "network_tags" { + for_each = var.cluster_autoscaling.enabled && (length(var.network_tags) > 0 || var.add_cluster_firewall_rules) ? [1] : [] + content { + tags = var.add_cluster_firewall_rules ? (concat(var.network_tags, [local.cluster_network_tag])) : var.network_tags + } + } + + dynamic "linux_node_config" { + for_each = local.node_pools_cgroup_mode["all"] != "" ? [1] : [] + content { + cgroup_mode = local.node_pools_cgroup_mode["all"] + } } } } diff --git a/modules/beta-public-cluster/cluster.tf b/modules/beta-public-cluster/cluster.tf index 7044d4c597..4fa866a17e 100644 --- a/modules/beta-public-cluster/cluster.tf +++ b/modules/beta-public-cluster/cluster.tf @@ -244,10 +244,20 @@ resource "google_container_cluster" "primary" { } dynamic "node_pool_auto_config" { - for_each = var.cluster_autoscaling.enabled && (length(var.network_tags) > 0 || var.add_cluster_firewall_rules) ? [1] : [] + for_each = var.cluster_autoscaling.enabled && (length(var.network_tags) > 0 || var.add_cluster_firewall_rules || local.node_pools_cgroup_mode != null) ? [1] : [] content { - network_tags { - tags = var.add_cluster_firewall_rules ? (concat(var.network_tags, [local.cluster_network_tag])) : var.network_tags + dynamic "network_tags" { + for_each = var.cluster_autoscaling.enabled && (length(var.network_tags) > 0 || var.add_cluster_firewall_rules) ? [1] : [] + content { + tags = var.add_cluster_firewall_rules ? (concat(var.network_tags, [local.cluster_network_tag])) : var.network_tags + } + } + + dynamic "linux_node_config" { + for_each = local.node_pools_cgroup_mode["all"] != "" ? [1] : [] + content { + cgroup_mode = local.node_pools_cgroup_mode["all"] + } } } } diff --git a/modules/private-cluster-update-variant/cluster.tf b/modules/private-cluster-update-variant/cluster.tf index 883b0487e8..3505396fab 100644 --- a/modules/private-cluster-update-variant/cluster.tf +++ b/modules/private-cluster-update-variant/cluster.tf @@ -231,10 +231,20 @@ resource "google_container_cluster" "primary" { } dynamic "node_pool_auto_config" { - for_each = var.cluster_autoscaling.enabled && (length(var.network_tags) > 0 || var.add_cluster_firewall_rules) ? [1] : [] + for_each = var.cluster_autoscaling.enabled && (length(var.network_tags) > 0 || var.add_cluster_firewall_rules || local.node_pools_cgroup_mode != null) ? [1] : [] content { - network_tags { - tags = var.add_cluster_firewall_rules ? (concat(var.network_tags, [local.cluster_network_tag])) : var.network_tags + dynamic "network_tags" { + for_each = var.cluster_autoscaling.enabled && (length(var.network_tags) > 0 || var.add_cluster_firewall_rules) ? [1] : [] + content { + tags = var.add_cluster_firewall_rules ? (concat(var.network_tags, [local.cluster_network_tag])) : var.network_tags + } + } + + dynamic "linux_node_config" { + for_each = local.node_pools_cgroup_mode["all"] != "" ? [1] : [] + content { + cgroup_mode = local.node_pools_cgroup_mode["all"] + } } } } diff --git a/modules/private-cluster/cluster.tf b/modules/private-cluster/cluster.tf index e2d235c810..479bfb019a 100644 --- a/modules/private-cluster/cluster.tf +++ b/modules/private-cluster/cluster.tf @@ -231,10 +231,20 @@ resource "google_container_cluster" "primary" { } dynamic "node_pool_auto_config" { - for_each = var.cluster_autoscaling.enabled && (length(var.network_tags) > 0 || var.add_cluster_firewall_rules) ? [1] : [] + for_each = var.cluster_autoscaling.enabled && (length(var.network_tags) > 0 || var.add_cluster_firewall_rules || local.node_pools_cgroup_mode != null) ? [1] : [] content { - network_tags { - tags = var.add_cluster_firewall_rules ? (concat(var.network_tags, [local.cluster_network_tag])) : var.network_tags + dynamic "network_tags" { + for_each = var.cluster_autoscaling.enabled && (length(var.network_tags) > 0 || var.add_cluster_firewall_rules) ? [1] : [] + content { + tags = var.add_cluster_firewall_rules ? (concat(var.network_tags, [local.cluster_network_tag])) : var.network_tags + } + } + + dynamic "linux_node_config" { + for_each = local.node_pools_cgroup_mode["all"] != "" ? [1] : [] + content { + cgroup_mode = local.node_pools_cgroup_mode["all"] + } } } } diff --git a/test/integration/node_pool/testdata/TestNodePool.json b/test/integration/node_pool/testdata/TestNodePool.json index 268989bd34..0a1381401b 100644 --- a/test/integration/node_pool/testdata/TestNodePool.json +++ b/test/integration/node_pool/testdata/TestNodePool.json @@ -156,7 +156,7 @@ "nodeConfig": { "diskSizeGb": 100, "diskType": "pd-balanced", - "effectiveCgroupMode": "EFFECTIVE_CGROUP_MODE_V2", + "effectiveCgroupMode": "EFFECTIVE_CGROUP_MODE_V1", "gcfsConfig": {}, "imageType": "COS_CONTAINERD", "loggingConfig": { @@ -203,7 +203,7 @@ "config": { "diskSizeGb": 100, "diskType": "pd-balanced", - "effectiveCgroupMode": "EFFECTIVE_CGROUP_MODE_V2", + "effectiveCgroupMode": "EFFECTIVE_CGROUP_MODE_V1", "gcfsConfig": {}, "imageType": "COS_CONTAINERD", "loggingConfig": { @@ -267,7 +267,7 @@ "config": { "diskSizeGb": 100, "diskType": "pd-standard", - "effectiveCgroupMode": "EFFECTIVE_CGROUP_MODE_V1", + "effectiveCgroupMode": "EFFECTIVE_CGROUP_MODE_V2", "imageType": "COS_CONTAINERD", "machineType": "e2-medium", "metadata": { @@ -320,7 +320,7 @@ "config": { "diskSizeGb": 100, "diskType": "pd-standard", - "effectiveCgroupMode": "EFFECTIVE_CGROUP_MODE_V2", + "effectiveCgroupMode": "EFFECTIVE_CGROUP_MODE_V1", "gcfsConfig": {}, "imageType": "COS_CONTAINERD", "labels": { @@ -423,7 +423,7 @@ ], "diskSizeGb": 30, "diskType": "pd-standard", - "effectiveCgroupMode": "EFFECTIVE_CGROUP_MODE_V1", + "effectiveCgroupMode": "EFFECTIVE_CGROUP_MODE_V2", "imageType": "COS_CONTAINERD", "labels": { "all-pools-example": "true", @@ -505,7 +505,7 @@ "config": { "diskSizeGb": 100, "diskType": "pd-standard", - "effectiveCgroupMode": "EFFECTIVE_CGROUP_MODE_V1", + "effectiveCgroupMode": "EFFECTIVE_CGROUP_MODE_V2", "imageType": "COS_CONTAINERD", "kubeletConfig": { "cpuCfsQuota": true, @@ -605,7 +605,7 @@ "config": { "diskSizeGb": 100, "diskType": "pd-standard", - "effectiveCgroupMode": "EFFECTIVE_CGROUP_MODE_V1", + "effectiveCgroupMode": "EFFECTIVE_CGROUP_MODE_V2", "imageType": "COS_CONTAINERD", "kubeletConfig": { "insecureKubeletReadonlyPortEnabled": false @@ -704,7 +704,7 @@ }, "diskSizeGb": 100, "diskType": "pd-balanced", - "effectiveCgroupMode": "EFFECTIVE_CGROUP_MODE_V1", + "effectiveCgroupMode": "EFFECTIVE_CGROUP_MODE_V2", "imageType": "COS_CONTAINERD", "labels": { "all-pools-example": "true",