@@ -532,6 +532,15 @@ message LinuxNodeConfig {
532532 CGROUP_MODE_V2 = 2 ;
533533 }
534534
535+ // Hugepages amount in both 2m and 1g size
536+ message HugepagesConfig {
537+ // Optional. Amount of 2M hugepages
538+ optional int32 hugepage_size2m = 1 [(google.api.field_behavior ) = OPTIONAL ];
539+
540+ // Optional. Amount of 1G hugepages
541+ optional int32 hugepage_size1g = 2 [(google.api.field_behavior ) = OPTIONAL ];
542+ }
543+
535544 // The Linux kernel parameters to be applied to the nodes and all pods running
536545 // on the nodes.
537546 //
@@ -552,6 +561,10 @@ message LinuxNodeConfig {
552561
553562 // cgroup_mode specifies the cgroup mode to be used on the node.
554563 CgroupMode cgroup_mode = 2 ;
564+
565+ // Optional. Amounts for 2M and 1G hugepages
566+ optional HugepagesConfig hugepages = 3
567+ [(google.api.field_behavior ) = OPTIONAL ];
555568}
556569
557570// Parameters that can be configured on Windows nodes.
@@ -831,6 +844,9 @@ message NodeConfig {
831844 // Parameters for node pools to be backed by shared sole tenant node groups.
832845 SoleTenantConfig sole_tenant_config = 42 ;
833846
847+ // Parameters for containerd customization.
848+ ContainerdConfig containerd_config = 43 ;
849+
834850 // A map of resource manager tag keys and values to be attached to the nodes.
835851 ResourceManagerTags resource_manager_tags = 45 ;
836852
@@ -852,6 +868,9 @@ message AdvancedMachineFeatures {
852868 // multithreading (SMT) set this to 1. If unset, the maximum number of threads
853869 // supported per core by the underlying processor is assumed.
854870 optional int64 threads_per_core = 1 ;
871+
872+ // Whether or not to enable nested virtualization (defaults to false).
873+ optional bool enable_nested_virtualization = 2 ;
855874}
856875
857876// Parameters for node pool-level network config.
@@ -1080,6 +1099,53 @@ message SoleTenantConfig {
10801099 repeated NodeAffinity node_affinities = 1 ;
10811100}
10821101
1102+ // ContainerdConfig contains configuration to customize containerd.
1103+ message ContainerdConfig {
1104+ // PrivateRegistryAccessConfig contains access configuration for
1105+ // private container registries.
1106+ message PrivateRegistryAccessConfig {
1107+ // CertificateAuthorityDomainConfig configures one or more fully qualified
1108+ // domain names (FQDN) to a specific certificate.
1109+ message CertificateAuthorityDomainConfig {
1110+ // GCPSecretManagerCertificateConfig configures a secret from
1111+ // [Google Secret Manager](https://cloud.google.com/secret-manager).
1112+ message GCPSecretManagerCertificateConfig {
1113+ // Secret URI, in the form
1114+ // "projects/$PROJECT_ID/secrets/$SECRET_NAME/versions/$VERSION".
1115+ // Version can be fixed (e.g. "2") or "latest"
1116+ string secret_uri = 1 ;
1117+ }
1118+
1119+ // List of fully qualified domain names (FQDN).
1120+ // Specifying port is supported.
1121+ // Wilcards are NOT supported.
1122+ // Examples:
1123+ // - my.customdomain.com
1124+ // - 10.0.1.2:5000
1125+ repeated string fqdns = 1 ;
1126+
1127+ // Certificate access config. The following are supported:
1128+ // - GCPSecretManagerCertificateConfig
1129+ oneof certificate_config {
1130+ // Google Secret Manager (GCP) certificate configuration.
1131+ GCPSecretManagerCertificateConfig
1132+ gcp_secret_manager_certificate_config = 2;
1133+ }
1134+ }
1135+
1136+ // Private registry access is enabled.
1137+ bool enabled = 1 ;
1138+
1139+ // Private registry access configuration.
1140+ repeated CertificateAuthorityDomainConfig
1141+ certificate_authority_domain_config = 2;
1142+ }
1143+
1144+ // PrivateRegistryAccessConfig is used to configure access configuration
1145+ // for private container registries.
1146+ PrivateRegistryAccessConfig private_registry_access_config = 1 ;
1147+ }
1148+
10831149// Kubernetes taint is composed of three fields: key, value, and effect. Effect
10841150// can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute.
10851151//
@@ -1998,6 +2064,12 @@ message Cluster {
19982064
19992065 // GKE Enterprise Configuration.
20002066 EnterpriseConfig enterprise_config = 149 ;
2067+
2068+ // Output only. Reserved for future use.
2069+ optional bool satisfies_pzs = 152 [(google.api.field_behavior ) = OUTPUT_ONLY ];
2070+
2071+ // Output only. Reserved for future use.
2072+ optional bool satisfies_pzi = 153 [(google.api.field_behavior ) = OUTPUT_ONLY ];
20012073}
20022074
20032075// K8sBetaAPIConfig , configuration for beta APIs
@@ -2019,6 +2091,9 @@ message SecurityPostureConfig {
20192091
20202092 // Applies Security Posture features on the cluster.
20212093 BASIC = 2 ;
2094+
2095+ // Applies the Security Posture off cluster Enterprise level features.
2096+ ENTERPRISE = 3 ;
20222097 }
20232098
20242099 // VulnerabilityMode defines enablement mode for vulnerability scanning.
@@ -2056,6 +2131,11 @@ message NodePoolAutoConfig {
20562131 // Resource manager tag keys and values to be attached to the nodes
20572132 // for managing Compute Engine firewalls using Network Firewall Policies.
20582133 ResourceManagerTags resource_manager_tags = 2 ;
2134+
2135+ // NodeKubeletConfig controls the defaults for autoprovisioned node-pools.
2136+ //
2137+ // Currently only `insecure_kubelet_readonly_port_enabled` can be set here.
2138+ NodeKubeletConfig node_kubelet_config = 3 ;
20592139}
20602140
20612141// Subset of Nodepool message that has defaults.
@@ -2071,6 +2151,14 @@ message NodeConfigDefaults {
20712151
20722152 // Logging configuration for node pools.
20732153 NodePoolLoggingConfig logging_config = 3 ;
2154+
2155+ // Parameters for containerd customization.
2156+ ContainerdConfig containerd_config = 4 ;
2157+
2158+ // NodeKubeletConfig controls the defaults for new node-pools.
2159+ //
2160+ // Currently only `insecure_kubelet_readonly_port_enabled` can be set here.
2161+ NodeKubeletConfig node_kubelet_config = 6 ;
20742162}
20752163
20762164// ClusterUpdate describes an update to the cluster. Exactly one update can
@@ -2179,7 +2267,12 @@ message ClusterUpdate {
21792267 // Cluster-level Vertical Pod Autoscaling configuration.
21802268 VerticalPodAutoscaling desired_vertical_pod_autoscaling = 22 ;
21812269
2182- // The desired private cluster configuration.
2270+ // The desired private cluster configuration. master_global_access_config is
2271+ // the only field that can be changed via this field.
2272+ // See also
2273+ // [ClusterUpdate.desired_enable_private_endpoint][google.container.v1.ClusterUpdate.desired_enable_private_endpoint]
2274+ // for modifying other fields within
2275+ // [PrivateClusterConfig][google.container.v1.PrivateClusterConfig].
21832276 PrivateClusterConfig desired_private_cluster_config = 25 ;
21842277
21852278 // The desired config of Intra-node visibility.
@@ -2288,6 +2381,9 @@ message ClusterUpdate {
22882381 // Desired Beta APIs to be enabled for cluster.
22892382 K8sBetaAPIConfig desired_k8s_beta_apis = 131 ;
22902383
2384+ // The desired containerd config for the cluster.
2385+ ContainerdConfig desired_containerd_config = 134 ;
2386+
22912387 // Enable/Disable Multi-Networking for the cluster
22922388 optional bool desired_enable_multi_networking = 135 ;
22932389
@@ -2300,6 +2396,13 @@ message ClusterUpdate {
23002396
23012397 // Enable/Disable Cilium Clusterwide Network Policy for the cluster.
23022398 optional bool desired_enable_cilium_clusterwide_network_policy = 138 ;
2399+
2400+ // The desired node kubelet config for the cluster.
2401+ NodeKubeletConfig desired_node_kubelet_config = 141 ;
2402+
2403+ // The desired node kubelet config for all auto-provisioned node pools
2404+ // in autopilot clusters and node auto-provisioning enabled clusters.
2405+ NodeKubeletConfig desired_node_pool_auto_config_kubelet_config = 142 ;
23032406}
23042407
23052408// AdditionalPodRangesConfig is the configuration for additional pod secondary
@@ -2759,6 +2862,11 @@ message UpdateNodePoolRequest {
27592862 // Parameters that can be configured on Windows nodes.
27602863 WindowsNodeConfig windows_node_config = 34 ;
27612864
2865+ // A list of hardware accelerators to be attached to each node.
2866+ // See https://cloud.google.com/compute/docs/gpus for more information about
2867+ // support for GPUs.
2868+ repeated AcceleratorConfig accelerators = 35 ;
2869+
27622870 // Optional. The desired [Google Compute Engine machine
27632871 // type](https://cloud.google.com/compute/docs/machine-types) for nodes in the
27642872 // node pool. Initiates an upgrade operation that migrates the nodes in the
@@ -2782,6 +2890,11 @@ message UpdateNodePoolRequest {
27822890 // Existing tags will be replaced with new values.
27832891 ResourceManagerTags resource_manager_tags = 39 ;
27842892
2893+ // The desired containerd config for nodes in the node pool.
2894+ // Initiates an upgrade operation that recreates the nodes with the new
2895+ // config.
2896+ ContainerdConfig containerd_config = 40 ;
2897+
27852898 // Specifies the configuration of queued provisioning.
27862899 NodePool.QueuedProvisioning queued_provisioning = 42 ;
27872900}
@@ -4187,6 +4300,9 @@ message GPUSharingConfig {
41874300
41884301 // GPUs are time-shared between containers.
41894302 TIME_SHARING = 1 ;
4303+
4304+ // GPUs are shared between containers with NVIDIA MPS.
4305+ MPS = 2 ;
41904306 }
41914307
41924308 // The max number of containers that can share a physical GPU.
@@ -4406,6 +4522,7 @@ message NetworkConfig {
44064522 optional bool enable_fqdn_network_policy = 19 ;
44074523
44084524 // Specify the details of in-transit encryption.
4525+ // Now named inter-node transparent encryption.
44094526 optional InTransitEncryptionConfig in_transit_encryption_config = 20 ;
44104527
44114528 // Whether CiliumClusterwideNetworkPolicy is enabled on this cluster.
@@ -4669,6 +4786,10 @@ message DNSConfig {
46694786
46704787 // cluster_dns_domain is the suffix used for all cluster service records.
46714788 string cluster_dns_domain = 3 ;
4789+
4790+ // Optional. The domain used in Additive VPC scope.
4791+ string additive_vpc_scope_dns_domain = 5
4792+ [(google.api.field_behavior ) = OPTIONAL ];
46724793}
46734794
46744795// Constraints applied to pods.
@@ -5259,6 +5380,12 @@ message MonitoringComponentConfig {
52595380
52605381 // Statefulset
52615382 STATEFULSET = 12 ;
5383+
5384+ // CADVISOR
5385+ CADVISOR = 13 ;
5386+
5387+ // KUBELET
5388+ KUBELET = 14 ;
52625389 }
52635390
52645391 // Select components to collect metrics. An empty set would disable all
0 commit comments