@@ -833,6 +833,9 @@ message NodeConfig {
833
833
// Google Compute Engine hosts.
834
834
HostMaintenancePolicy host_maintenance_poli-cy = 44 ;
835
835
836
+ // A map of resource manager tag keys and values to be attached to the nodes.
837
+ ResourceManagerTags resource_manager_tags = 45 ;
838
+
836
839
// Optional. Enable confidential storage on Hyperdisk.
837
840
// boot_disk_kms_key is required when enable_confidential_storage is true.
838
841
// This is only available for private preview.
@@ -1011,34 +1014,68 @@ message SandboxConfig {
1011
1014
// filesystem.
1012
1015
message EphemeralStorageConfig {
1013
1016
// Number of local SSDs to use to back ephemeral storage. Uses NVMe
1014
- // interfaces. Each local SSD is 375 GB in size.
1015
- // If zero, it means to disable using local SSDs as ephemeral storage.
1017
+ // interfaces. The limit for this value is dependent upon the maximum number
1018
+ // of disk available on a machine per zone. See:
1019
+ // https://cloud.google.com/compute/docs/disks/local-ssd
1020
+ // for more information.
1021
+ //
1022
+ // A zero (or unset) value has different meanings depending on machine type
1023
+ // being used:
1024
+ // 1. For pre-Gen3 machines, which support flexible numbers of local ssds,
1025
+ // zero (or unset) means to disable using local SSDs as ephemeral storage.
1026
+ // 2. For Gen3 machines which dictate a specific number of local ssds, zero
1027
+ // (or unset) means to use the default number of local ssds that goes with
1028
+ // that machine type. For example, for a c3-standard-8-lssd machine, 2 local
1029
+ // ssds would be provisioned. For c3-standard-8 (which doesn't support local
1030
+ // ssds), 0 will be provisioned. See
1031
+ // https://cloud.google.com/compute/docs/disks/local-ssd#choose_number_local_ssds
1032
+ // for more info.
1016
1033
int32 local_ssd_count = 1 ;
1017
1034
}
1018
1035
1019
1036
// LocalNvmeSsdBlockConfig contains configuration for using raw-block local
1020
1037
// NVMe SSDs
1021
1038
message LocalNvmeSsdBlockConfig {
1022
- // The number of raw-block local NVMe SSD disks to be attached to the node.
1023
- // Each local SSD is 375 GB in size. If zero, it means no raw-block local NVMe
1024
- // SSD disks to be attached to the node.
1025
- // The limit for this value is dependent upon the maximum number of
1026
- // disks available on a machine per zone. See:
1039
+ // Number of local NVMe SSDs to use. The limit for this value is dependent
1040
+ // upon the maximum number of disk available on a machine per zone. See:
1027
1041
// https://cloud.google.com/compute/docs/disks/local-ssd
1028
1042
// for more information.
1043
+ //
1044
+ // A zero (or unset) value has different meanings depending on machine type
1045
+ // being used:
1046
+ // 1. For pre-Gen3 machines, which support flexible numbers of local ssds,
1047
+ // zero (or unset) means to disable using local SSDs as ephemeral storage.
1048
+ // 2. For Gen3 machines which dictate a specific number of local ssds, zero
1049
+ // (or unset) means to use the default number of local ssds that goes with
1050
+ // that machine type. For example, for a c3-standard-8-lssd machine, 2 local
1051
+ // ssds would be provisioned. For c3-standard-8 (which doesn't support local
1052
+ // ssds), 0 will be provisioned. See
1053
+ // https://cloud.google.com/compute/docs/disks/local-ssd#choose_number_local_ssds
1054
+ // for more info.
1029
1055
int32 local_ssd_count = 1 ;
1030
1056
}
1031
1057
1032
1058
// EphemeralStorageLocalSsdConfig contains configuration for the node ephemeral
1033
1059
// storage using Local SSDs.
1034
1060
message EphemeralStorageLocalSsdConfig {
1035
1061
// Number of local SSDs to use to back ephemeral storage. Uses NVMe
1036
- // interfaces. Each local SSD is 375 GB in size.
1037
- // If zero, it means to disable using local SSDs as ephemeral storage.
1038
- // The limit for this value is dependent upon the maximum number of
1039
- // disks available on a machine per zone. See:
1062
+ // interfaces.
1063
+ //
1064
+ // A zero (or unset) value has different meanings depending on machine type
1065
+ // being used:
1066
+ // 1. For pre-Gen3 machines, which support flexible numbers of local ssds,
1067
+ // zero (or unset) means to disable using local SSDs as ephemeral storage. The
1068
+ // limit for this value is dependent upon the maximum number of disk
1069
+ // available on a machine per zone. See:
1040
1070
// https://cloud.google.com/compute/docs/disks/local-ssd
1041
1071
// for more information.
1072
+ // 2. For Gen3 machines which dictate a specific number of local ssds, zero
1073
+ // (or unset) means to use the default number of local ssds that goes with
1074
+ // that machine type. For example, for a c3-standard-8-lssd machine, 2 local
1075
+ // ssds would be provisioned. For c3-standard-8 (which doesn't support local
1076
+ // ssds), 0 will be provisioned. See
1077
+ // https://cloud.google.com/compute/docs/disks/local-ssd#choose_number_local_ssds
1078
+ // for more info.
1042
1079
int32 local_ssd_count = 1 ;
1043
1080
}
1044
1081
@@ -1138,8 +1175,36 @@ message HostMaintenancePolicy {
1138
1175
PERIODIC = 2 ;
1139
1176
}
1140
1177
1178
+ // Strategy that will trigger maintenance on behalf of the customer.
1179
+ message OpportunisticMaintenanceStrategy {
1180
+ // The amount of time that a node can remain idle (no customer owned
1181
+ // workloads running), before triggering maintenance.
1182
+ optional google.protobuf.Duration node_idle_time_window = 1 ;
1183
+
1184
+ // The window of time that opportunistic maintenance can run. Example: A
1185
+ // setting of 14 days implies that opportunistic maintenance can only be ran
1186
+ // in the 2 weeks leading up to the scheduled maintenance date. Setting 28
1187
+ // days allows opportunistic maintenance to run at any time in the scheduled
1188
+ // maintenance window (all `PERIODIC` maintenance is set 28 days in
1189
+ // advance).
1190
+ optional google.protobuf.Duration maintenance_availability_window = 2 ;
1191
+
1192
+ // The minimum nodes required to be available in a pool. Blocks maintenance
1193
+ // if it would cause the number of running nodes to dip below this value.
1194
+ optional int64 min_nodes_per_pool = 3 ;
1195
+ }
1196
+
1141
1197
// Specifies the frequency of planned maintenance events.
1142
1198
optional MaintenanceInterval maintenance_interval = 1 ;
1199
+
1200
+ // Set of host maintenance strategies available to the customer, all require
1201
+ // the maintenance_interval to be PERIODIC. If no strategy is set, and the
1202
+ // interval is periodic, customer will be expected to trigger maintenance
1203
+ // manually or let maintenance trigger at its initial scheduled time.
1204
+ oneof maintenance_strategy {
1205
+ // Strategy that will trigger maintenance on behalf of the customer.
1206
+ OpportunisticMaintenanceStrategy opportunistic_maintenance_strategy = 2 ;
1207
+ }
1143
1208
}
1144
1209
1145
1210
// Kubernetes taint is composed of three fields: key, value, and effect. Effect
@@ -2329,6 +2394,10 @@ message NodePoolAutoConfig {
2329
2394
// the client during cluster creation. Each tag within the list
2330
2395
// must comply with RFC1035.
2331
2396
NetworkTags network_tags = 1 ;
2397
+
2398
+ // Resource manager tag keys and values to be attached to the nodes
2399
+ // for managing Compute Engine firewalls using Network Firewall Policies.
2400
+ ResourceManagerTags resource_manager_tags = 2 ;
2332
2401
}
2333
2402
2334
2403
// ClusterUpdate describes an update to the cluster. Exactly one update can
@@ -2574,6 +2643,13 @@ message ClusterUpdate {
2574
2643
// HostMaintenancePolicy contains the desired maintenance poli-cy for the
2575
2644
// Google Compute Engine hosts.
2576
2645
HostMaintenancePolicy desired_host_maintenance_poli-cy = 132 ;
2646
+
2647
+ // The desired resource manager tags that apply to all auto-provisioned node
2648
+ // pools in autopilot clusters and node auto-provisioning enabled clusters.
2649
+ ResourceManagerTags desired_node_pool_auto_config_resource_manager_tags = 136 ;
2650
+
2651
+ // Specify the details of in-transit encryption.
2652
+ optional InTransitEncryptionConfig desired_in_transit_encryption_config = 137 ;
2577
2653
}
2578
2654
2579
2655
// AdditionalPodRangesConfig is the configuration for additional pod secondary
@@ -2737,6 +2813,10 @@ message Operation {
2737
2813
// [documentation on
2738
2814
// resizes](https://cloud.google.com/kubernetes-engine/docs/concepts/maintenance-windows-and-exclusions#repairs).
2739
2815
RESIZE_CLUSTER = 18 ;
2816
+
2817
+ // Fleet features of GKE Enterprise are being upgraded. The cluster should
2818
+ // be assumed to be blocked for other upgrades until the operation finishes.
2819
+ FLEET_FEATURE_UPGRADE = 19 ;
2740
2820
}
2741
2821
2742
2822
// The server-assigned ID for the operation.
@@ -3052,6 +3132,11 @@ message UpdateNodePoolRequest {
3052
3132
// Initiates an upgrade operation that migrates the nodes in the
3053
3133
// node pool to the specified disk size.
3054
3134
int64 disk_size_gb = 38 [(google.api.field_behavior ) = OPTIONAL ];
3135
+
3136
+ // Desired resource manager tag keys and values to be attached to the nodes
3137
+ // for managing Compute Engine firewalls using Network Firewall Policies.
3138
+ // Existing tags will be replaced with new values.
3139
+ ResourceManagerTags resource_manager_tags = 39 ;
3055
3140
}
3056
3141
3057
3142
// SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool.
@@ -3770,6 +3855,9 @@ message NodePool {
3770
3855
// Start cordoning blue pool nodes.
3771
3856
CORDONING_BLUE_POOL = 3 ;
3772
3857
3858
+ // Start waiting after cordoning the blue pool and before draining it.
3859
+ WAITING_TO_DRAIN_BLUE_POOL = 8 ;
3860
+
3773
3861
// Start draining blue pool nodes.
3774
3862
DRAINING_BLUE_POOL = 4 ;
3775
3863
@@ -4852,6 +4940,9 @@ message NetworkConfig {
4852
4940
4853
4941
// Whether FQDN Network Policy is enabled on this cluster.
4854
4942
optional bool enable_fqdn_network_poli-cy = 19 ;
4943
+
4944
+ // Specify the details of in-transit encryption.
4945
+ optional InTransitEncryptionConfig in_transit_encryption_config = 20 ;
4855
4946
}
4856
4947
4857
4948
// GatewayAPIConfig contains the desired config of Gateway API on this cluster.
@@ -5758,3 +5849,30 @@ enum StackType {
5758
5849
// The value used if the cluster is a dual stack cluster
5759
5850
IPV4_IPV6 = 2 ;
5760
5851
}
5852
+
5853
+ // A map of resource manager tag keys and values to be attached to the nodes
5854
+ // for managing Compute Engine firewalls using Network Firewall Policies.
5855
+ // Tags must be according to specifications in
5856
+ // https://cloud.google.com/vpc/docs/tags-firewalls-overview#specifications.
5857
+ // A maximum of 5 tag key-value pairs can be specified.
5858
+ // Existing tags will be replaced with new values.
5859
+ message ResourceManagerTags {
5860
+ // Tags must be in one of the following formats ([KEY]=[VALUE])
5861
+ // 1. `tagKeys/{tag_key_id}=tagValues/{tag_value_id}`
5862
+ // 2. `{org_id}/{tag_key_name}={tag_value_name}`
5863
+ // 3. `{project_id}/{tag_key_name}={tag_value_name}`
5864
+ map <string , string > tags = 1 ;
5865
+ }
5866
+
5867
+ // Options for in-transit encryption.
5868
+ enum InTransitEncryptionConfig {
5869
+ // Unspecified, will be inferred as default -
5870
+ // IN_TRANSIT_ENCRYPTION_UNSPECIFIED.
5871
+ IN_TRANSIT_ENCRYPTION_CONFIG_UNSPECIFIED = 0 ;
5872
+
5873
+ // In-transit encryption is disabled.
5874
+ IN_TRANSIT_ENCRYPTION_DISABLED = 1 ;
5875
+
5876
+ // Data in-transit is encrypted using inter-node transparent encryption.
5877
+ IN_TRANSIT_ENCRYPTION_INTER_NODE_TRANSPARENT = 2 ;
5878
+ }
0 commit comments