Terraform: Create single node GKE cluster

11/23/2019

I am trying to create a GKE cluster of node size 1. However, it always create a cluster of 3 nodes. Why is that?

resource "google_container_cluster" "gke-cluster" {
  name = "sonarqube"
  location = "asia-southeast1"
  remove_default_node_pool = true
  initial_node_count = 1
}

resource "google_container_node_pool" "gke-node-pool" {
  name = "sonarqube"
  location = "asia-southeast1"
  cluster = google_container_cluster.gke-cluster.name
  node_count = 1

  node_config {
    machine_type = "n1-standard-1"
    metadata = {
      disable-legacy-endpoints = "true"
    }

    labels = {
      app = "sonarqube"
    }
  }
}

enter image description here

-- Jiew Meng
google-cloud-platform
google-kubernetes-engine
kubernetes
terraform

1 Answer

11/23/2019

Ok, found I can do so using node_locations:

resource "google_container_cluster" "gke-cluster" {
  name = "sonarqube"
  location = "asia-southeast1"
  node_locations = [
    "asia-southeast1-a"
  ]
  remove_default_node_pool = true
  initial_node_count = 1
}

Without that, it seems GKE will create 1 node per zone.

-- Jiew Meng
Source: StackOverflow