diff --git a/autogen/main/cluster.tf.tmpl b/autogen/main/cluster.tf.tmpl index aee13d3a77..ef9e3282ed 100644 --- a/autogen/main/cluster.tf.tmpl +++ b/autogen/main/cluster.tf.tmpl @@ -356,10 +356,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 835efd1755..5c8dad2e96 100644 --- a/cluster.tf +++ b/cluster.tf @@ -265,10 +265,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 b8a35725a6..8b66d525b2 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 3c3c56fcfb..9ad2f76600 100644 --- a/modules/beta-private-cluster-update-variant/cluster.tf +++ b/modules/beta-private-cluster-update-variant/cluster.tf @@ -278,10 +278,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 cd1cd9f627..85902c01ff 100644 --- a/modules/beta-private-cluster/cluster.tf +++ b/modules/beta-private-cluster/cluster.tf @@ -278,10 +278,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 26ce6b29d6..19abc02a5c 100644 --- a/modules/beta-public-cluster-update-variant/cluster.tf +++ b/modules/beta-public-cluster-update-variant/cluster.tf @@ -278,10 +278,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 e693847bd5..3892ed0ba0 100644 --- a/modules/beta-public-cluster/cluster.tf +++ b/modules/beta-public-cluster/cluster.tf @@ -278,10 +278,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 1a7e70357b..7bf2019348 100644 --- a/modules/private-cluster-update-variant/cluster.tf +++ b/modules/private-cluster-update-variant/cluster.tf @@ -265,10 +265,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 bec59dd7b5..957c87b591 100644 --- a/modules/private-cluster/cluster.tf +++ b/modules/private-cluster/cluster.tf @@ -265,10 +265,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 10eb7d5395..3c4014a0c1 100644 --- a/test/integration/node_pool/testdata/TestNodePool.json +++ b/test/integration/node_pool/testdata/TestNodePool.json @@ -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",