From 0ed619b256bb8886b91a94219d20e5f576cf9052 Mon Sep 17 00:00:00 2001 From: pk0331 Date: Mon, 9 Jan 2023 09:50:57 +0000 Subject: [PATCH 1/3] GPU for GKE --- modules/gcp/gke/main.tf | 2 +- modules/gcp/gke/variables.tf | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/gcp/gke/main.tf b/modules/gcp/gke/main.tf index 0ca37c6..5dd5339 100644 --- a/modules/gcp/gke/main.tf +++ b/modules/gcp/gke/main.tf @@ -39,7 +39,7 @@ resource "google_compute_subnetwork" "cluster_subnet" { module "gke" { depends_on = [google_compute_subnetwork.cluster_subnet] - source = "github.com/argonautdev/terraform-google-kubernetes-engine//modules/private-cluster?ref=v21.1.4" + source = "github.com/argonautdev/terraform-google-kubernetes-engine//modules/private-cluster?ref=v21.1.5" project_id = var.project_id name = var.cluster_name description = var.description diff --git a/modules/gcp/gke/variables.tf b/modules/gcp/gke/variables.tf index 9cfcd33..33ccc60 100644 --- a/modules/gcp/gke/variables.tf +++ b/modules/gcp/gke/variables.tf @@ -163,7 +163,9 @@ variable "node_pools" { auto_repair = optional(bool), auto_upgrade = bool, preemptible = optional(bool), - enable_gcfs = bool,##Set to true only if image streaming is required. + enable_gcfs = bool,##Set to true only if image streaming is required. + accelerator_type = optional(string), + accelerator_count = optional(number), })) description = "List of maps containing node pools" default = [ @@ -176,7 +178,7 @@ variable "node_pools" { autoscaling = false auto_upgrade = false, enable_gcfs = false - }, + } ] } From 9de089da6a22073ec3a5999999af0d98c8d1a587 Mon Sep 17 00:00:00 2001 From: pk0331 Date: Sun, 22 Jan 2023 09:45:17 +0000 Subject: [PATCH 2/3] Zones for GKE NodePools --- modules/gcp/gke/main.tf | 25 ++++++++++++++++++++++++- modules/gcp/gke/variables.tf | 1 + 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/modules/gcp/gke/main.tf b/modules/gcp/gke/main.tf index 5dd5339..2c7af49 100644 --- a/modules/gcp/gke/main.tf +++ b/modules/gcp/gke/main.tf @@ -37,6 +37,29 @@ resource "google_compute_subnetwork" "cluster_subnet" { ] } +locals { + ng_formated_zones_list = [for ng in var.node_pools : + { + name = ng.name + machine_type = ng.machine_type + disk_size_gb = ng.disk_size_gb + disk_type = ng.disk_type + image_type = ng.image_type + autoscaling = ng.autoscaling + min_count = ng.min_count + max_count = ng.max_count + auto_repair = ng.auto_repair + auto_upgrade = ng.auto_upgrade + preemptible = ng.preemptible + enable_gcfs = ng.enable_gcfs + accelerator_type = ng.accelerator_type + accelerator_count = ng.accelerator_count + node_locations = ng.zones != null ? join(",", ng.zones) : "" + } + ] +} + + module "gke" { depends_on = [google_compute_subnetwork.cluster_subnet] source = "github.com/argonautdev/terraform-google-kubernetes-engine//modules/private-cluster?ref=v21.1.5" @@ -56,7 +79,7 @@ module "gke" { enable_vertical_pod_autoscaling = var.enable_vertical_pod_autoscaling kubernetes_version = var.kubernetes_version initial_node_count = var.initial_node_count ##How many instances should be launched in each zone - node_pools = var.node_pools + node_pools = local.ng_formated_zones_list remove_default_node_pool = var.remove_default_node_pool cluster_resource_labels = merge(var.default_labels, var.labels) //kubernetes_version = var.kubernetes_version diff --git a/modules/gcp/gke/variables.tf b/modules/gcp/gke/variables.tf index 33ccc60..307709f 100644 --- a/modules/gcp/gke/variables.tf +++ b/modules/gcp/gke/variables.tf @@ -166,6 +166,7 @@ variable "node_pools" { enable_gcfs = bool,##Set to true only if image streaming is required. accelerator_type = optional(string), accelerator_count = optional(number), + zones = optional(list(string)), })) description = "List of maps containing node pools" default = [ From 748026cc7bcc0c81492497a60ec87147385e373e Mon Sep 17 00:00:00 2001 From: pk0331 Date: Tue, 24 Jan 2023 04:15:36 +0000 Subject: [PATCH 3/3] GKE NodePool Zones --- modules/gcp/gke/variables.tf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/gcp/gke/variables.tf b/modules/gcp/gke/variables.tf index 307709f..35feb02 100644 --- a/modules/gcp/gke/variables.tf +++ b/modules/gcp/gke/variables.tf @@ -166,7 +166,7 @@ variable "node_pools" { enable_gcfs = bool,##Set to true only if image streaming is required. accelerator_type = optional(string), accelerator_count = optional(number), - zones = optional(list(string)), + zones = optional(list(string)) })) description = "List of maps containing node pools" default = [ @@ -178,7 +178,8 @@ variable "node_pools" { image_type = "COS_CONTAINERD" autoscaling = false auto_upgrade = false, - enable_gcfs = false + enable_gcfs = false, + zones = ["us-central1-a", "us-central1-b"] } ] }