Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to v21.0.0 requires node pool recreations #1253

Closed
chicocvenancio opened this issue May 13, 2022 · 4 comments · Fixed by #1255
Closed

Update to v21.0.0 requires node pool recreations #1253

chicocvenancio opened this issue May 13, 2022 · 4 comments · Fixed by #1255
Labels
bug Something isn't working P1 highest priority issues triaged Scoped and ready for work

Comments

@chicocvenancio
Copy link
Contributor

TL;DR

Seems the changes #1218 mean updating requires node pool recreations.

Expected behavior

No response

Observed behavior

No response

Terraform Configuration

module "gke" {
  source  = "terraform-google-modules/kubernetes-engine/google/modules/beta-private-cluster"
  version = "21.0.0"
(...)
  node_pools = [
  {
    # https://www.notion.so/argylesystems/Node-pool-planning-9fce18823b604744b28fabc3a51b0001
    machine_type    = "e2-highmem-8"
    name            = "highmem"
    min_count       = 1
    max_count       = 4 
    local_ssd_count = 0
    disk_size_gb    = 128
    disk_type       = "pd-balanced"
    auto_repair     = true
    auto_upgrade    = true
    max_pods_per_node  = 110
    initial_node_count = 1
    image_type         = "COS_CONTAINERD" # using containerd
  },
  ]
}

Terraform Version

terraform version
Terraform v1.1.7
on darwin_amd64
+ provider registry.terraform.io/hashicorp/google v4.20.0
+ provider registry.terraform.io/hashicorp/google-beta v4.20.0
+ provider registry.terraform.io/hashicorp/kubernetes v2.11.0
+ provider registry.terraform.io/hashicorp/random v3.1.3

Your version of Terraform is out of date! The latest version
is 1.1.9. You can update by downloading from https://www.terraform.io/downloads.html

Additional information

No response

@chicocvenancio chicocvenancio added the bug Something isn't working label May 13, 2022
@kpocius
Copy link

kpocius commented May 13, 2022

-/+ resource "google_container_node_pool" "pools" {
      ~ id                          = "projects/<redacted>/locations/us-west1/clusters/perf/nodePools/standard" -> (known after apply)
      ~ instance_group_urls         = [
          - "https://www.googleapis.com/compute/v1/projects/<redacted>/zones/us-west1-a/instanceGroupManagers/gke-perf-standard-93a7d26d-grp",
          - "https://www.googleapis.com/compute/v1/projects/<redacted>/zones/us-west1-b/instanceGroupManagers/gke-perf-standard-39917066-grp",
          - "https://www.googleapis.com/compute/v1/projects/<redacted>/zones/us-west1-c/instanceGroupManagers/gke-perf-standard-68fb7977-grp",
        ] -> (known after apply)
      ~ managed_instance_group_urls = [
          - "https://www.googleapis.com/compute/beta/projects/<redacted>/zones/us-west1-a/instanceGroups/gke-perf-standard-93a7d26d-grp",
          - "https://www.googleapis.com/compute/beta/projects/<redacted>/zones/us-west1-b/instanceGroups/gke-perf-standard-39917066-grp",
          - "https://www.googleapis.com/compute/beta/projects/<redacted>/zones/us-west1-c/instanceGroups/gke-perf-standard-68fb7977-grp",
        ] -> (known after apply)
        name                        = "standard"
      + name_prefix                 = (known after apply)
      ~ node_count                  = 0 -> (known after apply)
      ~ node_locations              = [
          - "us-west1-a",
          - "us-west1-b",
          - "us-west1-c",
        ] -> (known after apply)
      + operation                   = (known after apply)
      ~ version                     = "1.21.10-gke.2000" -> (known after apply)
        # (5 unchanged attributes hidden)



      ~ network_config {
          ~ create_pod_range    = false -> (known after apply)
          ~ pod_ipv4_cidr_block = "192.168.0.0/18" -> (known after apply)
          ~ pod_range           = "ip-range-pods" -> (known after apply)
        }

      ~ node_config {
          ~ service_account   = "default" -> (known after apply)
            tags              = [
                "gke-perf",
                "gke-perf-standard",
            ]
          ~ taint             = [] -> (known after apply)
            # (11 unchanged attributes hidden)

          + gcfs_config { # forces replacement
              + enabled = false # forces replacement
            }


            # (2 unchanged blocks hidden)
        }


        # (4 unchanged blocks hidden)
    }

@gangsta
Copy link

gangsta commented May 16, 2022

+1

@gangsta
Copy link

gangsta commented May 16, 2022

As a temp solution, you can use

module "gke" {
  source                            = "terraform-google-modules/kubernetes-engine/google//modules/private-cluster/"
  version                           = "20.0.0"

@bharathkkb
Copy link
Member

Thanks for the report! Looks like gcfs_config is forcing the replacement, we can add this as a dynamic block to prevent recreation.

@bharathkkb bharathkkb added triaged Scoped and ready for work P1 highest priority issues labels May 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working P1 highest priority issues triaged Scoped and ready for work
Projects
None yet
4 participants