diff --git a/google_gke/README.md b/google_gke/README.md index fb03e31c..5a02ea40 100644 --- a/google_gke/README.md +++ b/google_gke/README.md @@ -183,7 +183,7 @@ module "gke" { | [network](#input\_network) | Shared VPC Network (formulated as a URL) wherein the cluster will be created. Overidden by shared\_vpc\_outputs. | `string` | `null` | no | | [node\_pool\_sa\_roles](#input\_node\_pool\_sa\_roles) | n/a | `list` |
[| no | | [node\_pools](#input\_node\_pools) | Map containing node pools, with each node pool's name (or name\_prefix if `use_name_prefix` is true) being the key and the values being that node pool's configurations. Configurable options per node pool include: `disk_size_gb` (string), `disk_type` (string), `machine_type` (string), `max_count` (number), `max_surge` (number), `max_unavailable` (number), `min_count` (number), `use_name_prefix` (bool). See locals.tf for defaults. | `list(map(string))` |
"roles/logging.logWriter",
"roles/monitoring.metricWriter",
"roles/monitoring.viewer",
"roles/stackdriver.resourceMetadata.writer"
]
[| no | -| [node\_pools\_guest\_accelerator](#input\_node\_pools\_guest\_accelerator) | Map containing node pools guest accelerator. Each node pool's name is the key. See locals.tf for defaults. | `map(map(string))` |
{
"name": "tf-default-node-pool"
}
]
{
"tf-default-node-pool": {}
} | no |
+| [node\_pools\_guest\_accelerator](#input\_node\_pools\_guest\_accelerator) | Map containing node pools guest accelerator. Each node pool's name is the key. See locals.tf for defaults. | map(object({
type = string
count = number
gpu_driver_version = optional(string, "LATEST")
})) | `{}` | no |
| [node\_pools\_labels](#input\_node\_pools\_labels) | Map containing node pools non-default labels (as a map of strings). Each key is used as node pool's name prefix. See locals.tf for defaults. | `map(map(string))` | {
"tf-default-node-pool": {}
} | no |
| [node\_pools\_oauth\_scopes](#input\_node\_pools\_oauth\_scopes) | Map containing node pools non-default OAuth scopes (as an list). Each node pool's name is the key. See locals.tf for defaults. | `map(list(string))` | {
"tf-default-node-pool": []
} | no |
| [node\_pools\_spot\_enabled](#input\_node\_pools\_spot\_enabled) | Map containing node pools spot enabled. Each node pool's name is the key. See locals.tf for defaults. | `map(bool)` | {
"tf-default-node-pool": false
} | no |
diff --git a/google_gke/cluster.tf b/google_gke/cluster.tf
index 68379d1f..050cd883 100644
--- a/google_gke/cluster.tf
+++ b/google_gke/cluster.tf
@@ -288,6 +288,10 @@ resource "google_container_node_pool" "pools" {
content {
type = local.node_pools_guest_accelerator[each.key].type
count = local.node_pools_guest_accelerator[each.key].count
+
+ gpu_driver_installation_config {
+ gpu_driver_version = local.node_pools_guest_accelerator[each.key].gpu_driver_version
+ }
}
}
diff --git a/google_gke/variables.tf b/google_gke/variables.tf
index e6699cff..28863ad0 100644
--- a/google_gke/variables.tf
+++ b/google_gke/variables.tf
@@ -267,10 +267,12 @@ variable "node_pools_taints" {
variable "node_pools_guest_accelerator" {
description = "Map containing node pools guest accelerator. Each node pool's name is the key. See locals.tf for defaults."
- type = map(map(string))
- default = {
- tf-default-node-pool = {}
- }
+ type = map(object({
+ type = string
+ count = number
+ gpu_driver_version = optional(string, "LATEST")
+ }))
+ default = {}
}
variable "node_pools_spot_enabled" {