@@ -493,6 +493,21 @@ service ClusterManager {
493493
494494// Parameters that can be configured on Linux nodes.
495495message LinuxNodeConfig {
496+ // Possible cgroup modes that can be used.
497+ enum CgroupMode {
498+ // CGROUP_MODE_UNSPECIFIED is when unspecified cgroup configuration is used.
499+ // The default for the GKE node OS image will be used.
500+ CGROUP_MODE_UNSPECIFIED = 0 ;
501+
502+ // CGROUP_MODE_V1 specifies to use cgroupv1 for the cgroup configuration on
503+ // the node image.
504+ CGROUP_MODE_V1 = 1 ;
505+
506+ // CGROUP_MODE_V2 specifies to use cgroupv2 for the cgroup configuration on
507+ // the node image.
508+ CGROUP_MODE_V2 = 2 ;
509+ }
510+
496511 // The Linux kernel parameters to be applied to the nodes and all pods running
497512 // on the nodes.
498513 //
@@ -510,6 +525,9 @@ message LinuxNodeConfig {
510525 // net.ipv4.tcp_wmem
511526 // net.ipv4.tcp_tw_reuse
512527 map <string , string > sysctls = 1 ;
528+
529+ // cgroup_mode specifies the cgroup mode to be used on the node.
530+ CgroupMode cgroup_mode = 2 ;
513531}
514532
515533// Node kubelet configs.
@@ -741,6 +759,10 @@ message NodeConfig {
741759 // All the nodes in the node pool will be Confidential VM once enabled.
742760 ConfidentialNodes confidential_nodes = 35 ;
743761
762+ // The resource labels for the node pool to use to annotate any related
763+ // Google Compute Engine resources.
764+ map <string , string > resource_labels = 37 ;
765+
744766 // Logging configuration.
745767 NodePoolLoggingConfig logging_config = 38 ;
746768}
@@ -811,6 +833,11 @@ message NodeNetworkConfig {
811833 // This field cannot be changed after the node pool has been created.
812834 string pod_ipv4_cidr_block = 6 ;
813835
836+ // Whether nodes have internal IP addresses only.
837+ // If enable_private_nodes is not specified, then the value is derived from
838+ // [cluster.privateClusterConfig.enablePrivateNodes][google.container.v1beta1.PrivateClusterConfig.enablePrivateNodes]
839+ optional bool enable_private_nodes = 9 ;
840+
814841 // Network bandwidth tier configuration.
815842 optional NetworkPerformanceConfig network_performance_config = 11 ;
816843}
@@ -934,6 +961,13 @@ message NodeLabels {
934961 map <string , string > labels = 1 ;
935962}
936963
964+ // Collection of [GCP
965+ // labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels).
966+ message ResourceLabels {
967+ // Map of node label keys and node label values.
968+ map <string , string > labels = 1 ;
969+ }
970+
937971// Collection of Compute Engine network tags that can be applied to a node's
938972// underlying VM instance.
939973message NetworkTags {
@@ -1107,6 +1141,10 @@ message PrivateClusterConfig {
11071141
11081142 // Controls master global access settings.
11091143 PrivateClusterMasterGlobalAccessConfig master_global_access_config = 8 ;
1144+
1145+ // Subnet to provision the master's private endpoint during cluster creation.
1146+ // Specified in projects/*/regions/*/subnetworks/* format.
1147+ string private_endpoint_subnetwork = 10 ;
11101148}
11111149
11121150// Configuration for returning group information from authenticators.
@@ -1185,6 +1223,9 @@ message MasterAuthorizedNetworksConfig {
11851223 // cidr_blocks define up to 50 external networks that could access
11861224 // Kubernetes master through HTTPS.
11871225 repeated CidrBlock cidr_blocks = 2 ;
1226+
1227+ // Whether master is accessbile via Google Compute Engine Public IP addresses.
1228+ optional bool gcp_public_cidrs_access_enabled = 3 ;
11881229}
11891230
11901231// Configuration for the legacy Attribute Based Access Control authorization
@@ -1881,6 +1922,9 @@ message ClusterUpdate {
18811922 // ExternalIPs field.
18821923 ServiceExternalIPsConfig desired_service_external_ips_config = 60 ;
18831924
1925+ // Enable/Disable private endpoint for the cluster's master.
1926+ optional bool desired_enable_private_endpoint = 71 ;
1927+
18841928 // The Kubernetes version to change the master to.
18851929 //
18861930 // Users may specify either explicit versions offered by
@@ -1900,6 +1944,9 @@ message ClusterUpdate {
19001944 // in autopilot clusters and node auto-provisioning enabled clusters.
19011945 NetworkTags desired_node_pool_auto_config_network_tags = 110 ;
19021946
1947+ // The desired config of Gateway API on this cluster.
1948+ GatewayAPIConfig desired_gateway_api_config = 114 ;
1949+
19031950 // The desired node pool logging configuration defaults for the cluster.
19041951 NodePoolLoggingConfig desired_node_pool_logging_config = 116 ;
19051952}
@@ -2239,6 +2286,10 @@ message UpdateNodePoolRequest {
22392286
22402287 // Logging configuration.
22412288 NodePoolLoggingConfig logging_config = 32 ;
2289+
2290+ // The resource labels for the node pool to use to annotate any related
2291+ // Google Compute Engine resources.
2292+ ResourceLabels resource_labels = 33 ;
22422293}
22432294
22442295// SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool.
@@ -2762,7 +2813,7 @@ message BlueGreenSettings {
27622813 message StandardRolloutPolicy {
27632814 // Blue pool size to drain in a batch.
27642815 oneof update_batch_size {
2765- // Percentage of the bool pool nodes to drain in a batch.
2816+ // Percentage of the blue pool nodes to drain in a batch.
27662817 // The range of this field should be (0.0, 1.0].
27672818 float batch_percentage = 1 ;
27682819
@@ -3737,6 +3788,32 @@ message NetworkConfig {
37373788 // ServiceExternalIPsConfig specifies if services with externalIPs field are
37383789 // blocked or not.
37393790 ServiceExternalIPsConfig service_external_ips_config = 15 ;
3791+
3792+ // GatewayAPIConfig contains the desired config of Gateway API on this
3793+ // cluster.
3794+ GatewayAPIConfig gateway_api_config = 16 ;
3795+ }
3796+
3797+ // GatewayAPIConfig contains the desired config of Gateway API on this cluster.
3798+ message GatewayAPIConfig {
3799+ // Channel describes if/how Gateway API should be installed and implemented in
3800+ // a cluster.
3801+ enum Channel {
3802+ // Default value.
3803+ CHANNEL_UNSPECIFIED = 0 ;
3804+
3805+ // Gateway API support is disabled
3806+ CHANNEL_DISABLED = 1 ;
3807+
3808+ // Gateway API support is enabled, experimental CRDs are installed
3809+ CHANNEL_EXPERIMENTAL = 3 ;
3810+
3811+ // Gateway API support is enabled, standard CRDs are installed
3812+ CHANNEL_STANDARD = 4 ;
3813+ }
3814+
3815+ // The Gateway API release channel to use for Gateway API.
3816+ Channel channel = 1 ;
37403817}
37413818
37423819// Config to block services with externalIPs field.
@@ -4310,6 +4387,15 @@ message LoggingComponentConfig {
43104387
43114388 // workloads
43124389 WORKLOADS = 2 ;
4390+
4391+ // kube-apiserver
4392+ APISERVER = 3 ;
4393+
4394+ // kube-scheduler
4395+ SCHEDULER = 4 ;
4396+
4397+ // kube-controller-manager
4398+ CONTROLLER_MANAGER = 5 ;
43134399 }
43144400
43154401 // Select components to collect logs. An empty set would disable all logging.
0 commit comments