Skip to content

Commit a190444

Browse files
feat: Implement and configure GKE Image Streaming (GCFS) at the cluster level. (#5387)
Co-authored-by: Swarna Bharathi Mantena <swarnabm@google.com>
1 parent a12aa37 commit a190444

3 files changed

Lines changed: 19 additions & 0 deletions

File tree

modules/scheduler/gke-cluster/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ limitations under the License.
156156
| <a name="input_enable_dcgm_monitoring"></a> [enable\_dcgm\_monitoring](#input\_enable\_dcgm\_monitoring) | Enable GKE to collect DCGM metrics | `bool` | `true` | no |
157157
| <a name="input_enable_external_dns_endpoint"></a> [enable\_external\_dns\_endpoint](#input\_enable\_external\_dns\_endpoint) | Allow [DNS-based approach](https://cloud.google.com/kubernetes-engine/docs/concepts/network-isolation#dns-based_endpoint) for accessing the GKE control plane.<br/>Refer this [dedicated blog](https://cloud.google.com/blog/products/containers-kubernetes/new-dns-based-endpoint-for-the-gke-control-plane) for more details. | `bool` | `false` | no |
158158
| <a name="input_enable_filestore_csi"></a> [enable\_filestore\_csi](#input\_enable\_filestore\_csi) | The status of the Filestore Container Storage Interface (CSI) driver addon, which allows the usage of filestore instance as volumes. | `bool` | `false` | no |
159+
| <a name="input_enable_gcfs"></a> [enable\_gcfs](#input\_enable\_gcfs) | Enable the Google Container Filesystem (GCFS) for Image Streaming at the cluster level. | `bool` | `false` | no |
159160
| <a name="input_enable_gcsfuse_csi"></a> [enable\_gcsfuse\_csi](#input\_enable\_gcsfuse\_csi) | The status of the GCSFuse Container Storage Interface (CSI) driver addon, which allows the usage of a GCS bucket as volumes. | `bool` | `false` | no |
160161
| <a name="input_enable_inference_gateway"></a> [enable\_inference\_gateway](#input\_enable\_inference\_gateway) | If true, enables GKE features required for Inference Gateway, including the HttpLoadBalancing addon, and installs required CRDs. | `bool` | `false` | no |
161162
| <a name="input_enable_k8s_beta_apis"></a> [enable\_k8s\_beta\_apis](#input\_enable\_k8s\_beta\_apis) | List of Enabled Kubernetes Beta APIs. | `list(string)` | `null` | no |

modules/scheduler/gke-cluster/main.tf

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,17 @@ resource "google_container_cluster" "gke_cluster" {
254254
update = var.timeout_update
255255
}
256256

257+
dynamic "node_pool_defaults" {
258+
for_each = var.enable_gcfs ? [1] : []
259+
content {
260+
node_config_defaults {
261+
gcfs_config {
262+
enabled = true
263+
}
264+
}
265+
}
266+
}
267+
257268
node_config {
258269
shielded_instance_config {
259270
enable_secure_boot = var.system_node_pool_enable_secure_boot

modules/scheduler/gke-cluster/variables.tf

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,12 +179,19 @@ variable "enable_filestore_csi" {
179179
default = false
180180
}
181181

182+
variable "enable_gcfs" {
183+
description = "Enable the Google Container Filesystem (GCFS) for Image Streaming at the cluster level."
184+
type = bool
185+
default = false
186+
}
187+
182188
variable "enable_gcsfuse_csi" {
183189
description = "The status of the GCSFuse Container Storage Interface (CSI) driver addon, which allows the usage of a GCS bucket as volumes."
184190
type = bool
185191
default = false
186192
}
187193

194+
188195
variable "enable_persistent_disk_csi" {
189196
description = "The status of the Google Compute Engine Persistent Disk Container Storage Interface (CSI) driver addon, which allows the usage of a PD as volumes."
190197
type = bool

0 commit comments

Comments
 (0)