From 32fa620fed74e90c4420326dc9baecb78fbc0a75 Mon Sep 17 00:00:00 2001 From: Google APIs Date: Thu, 22 Dec 2022 15:33:45 -0800 Subject: [PATCH] feat: add WindowsNodeConfig field to v1alpha1, v1beta1, v1 --- feat: add EphemeralStorageLocalSsdConfig and LocalNvmeSsdBlockConfig APIs to v1alpha1, v1beta1, v1 PiperOrigin-RevId: 497251971 --- .../container/v1beta1/cluster_service.proto | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/google/container/v1beta1/cluster_service.proto b/google/container/v1beta1/cluster_service.proto index a5ce7f0d9e..0c2e6c16d7 100644 --- a/google/container/v1beta1/cluster_service.proto +++ b/google/container/v1beta1/cluster_service.proto @@ -519,6 +519,26 @@ message LinuxNodeConfig { CgroupMode cgroup_mode = 2; } +// Parameters that can be configured on Windows nodes. +// Windows Node Config that define the parameters that will be used to +// configure the Windows node pool settings +message WindowsNodeConfig { + // Possible OS version that can be used. + enum OSVersion { + // When OSVersion is not specified + OS_VERSION_UNSPECIFIED = 0; + + // LTSC2019 specifies to use LTSC2019 as the Windows Servercore Base Image + OS_VERSION_LTSC2019 = 1; + + // LTSC2022 specifies to use LTSC2022 as the Windows Servercore Base Image + OS_VERSION_LTSC2022 = 2; + } + + // OSVersion specifies the Windows node config to be used on the node + OSVersion os_version = 1; +} + // Node kubelet configs. message NodeKubeletConfig { // Control the CPU management policy on the node. @@ -762,6 +782,17 @@ message NodeConfig { // Logging configuration. NodePoolLoggingConfig logging_config = 38; + + // Parameters that can be configured on Windows nodes. + WindowsNodeConfig windows_node_config = 39; + + // Parameters for using raw-block Local NVMe SSDs. + LocalNvmeSsdBlockConfig local_nvme_ssd_block_config = 40; + + // Parameters for the node ephemeral storage using Local SSDs. + // If unspecified, ephemeral storage is backed by the boot disk. + // This field is functionally equivalent to the ephemeral_storage_config + EphemeralStorageLocalSsdConfig ephemeral_storage_local_ssd_config = 41; } // Specifies options for controlling advanced machine features. @@ -888,6 +919,32 @@ message EphemeralStorageConfig { int32 local_ssd_count = 1; } +// LocalNvmeSsdBlockConfig contains configuration for using raw-block local +// NVMe SSDs +message LocalNvmeSsdBlockConfig { + // The number of raw-block local NVMe SSD disks to be attached to the node. + // Each local SSD is 375 GB in size. If zero, it means no raw-block local NVMe + // SSD disks to be attached to the node. + // The limit for this value is dependent upon the maximum number of + // disks available on a machine per zone. See: + // https://cloud.google.com/compute/docs/disks/local-ssd + // for more information. + int32 local_ssd_count = 1; +} + +// EphemeralStorageLocalSsdConfig contains configuration for the node ephemeral +// storage using Local SSDs. +message EphemeralStorageLocalSsdConfig { + // Number of local SSDs to use to back ephemeral storage. Uses NVMe + // interfaces. Each local SSD is 375 GB in size. + // If zero, it means to disable using local SSDs as ephemeral storage. + // The limit for this value is dependent upon the maximum number of + // disks available on a machine per zone. See: + // https://cloud.google.com/compute/docs/disks/local-ssd + // for more information. + int32 local_ssd_count = 1; +} + // GcfsConfig contains configurations of Google Container File System. message GcfsConfig { // Whether to use GCFS. @@ -2564,6 +2621,9 @@ message UpdateNodePoolRequest { // The resource labels for the node pool to use to annotate any related // Google Compute Engine resources. ResourceLabels resource_labels = 33; + + // Parameters that can be configured on Windows nodes. + WindowsNodeConfig windows_node_config = 34; } // SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool.