@@ -522,6 +522,15 @@ message LinuxNodeConfig {
522522 CGROUP_MODE_V2 = 2 ;
523523 }
524524
525+ // Hugepages amount in both 2m and 1g size
526+ message HugepagesConfig {
527+ // Optional. Amount of 2M hugepages
528+ optional int32 hugepage_size2m = 1 [(google.api.field_behavior ) = OPTIONAL ];
529+
530+ // Optional. Amount of 1G hugepages
531+ optional int32 hugepage_size1g = 2 [(google.api.field_behavior ) = OPTIONAL ];
532+ }
533+
525534 // The Linux kernel parameters to be applied to the nodes and all pods running
526535 // on the nodes.
527536 //
@@ -542,6 +551,10 @@ message LinuxNodeConfig {
542551
543552 // cgroup_mode specifies the cgroup mode to be used on the node.
544553 CgroupMode cgroup_mode = 2 ;
554+
555+ // Optional. Amounts for 2M and 1G hugepages
556+ optional HugepagesConfig hugepages = 3
557+ [(google.api.field_behavior ) = OPTIONAL ];
545558}
546559
547560// Parameters that can be configured on Windows nodes.
@@ -827,6 +840,9 @@ message NodeConfig {
827840 // Parameters for node pools to be backed by shared sole tenant node groups.
828841 SoleTenantConfig sole_tenant_config = 42 ;
829842
843+ // Parameters for containerd customization.
844+ ContainerdConfig containerd_config = 43 ;
845+
830846 // HostMaintenancePolicy contains the desired maintenance policy for the
831847 // Google Compute Engine hosts.
832848 HostMaintenancePolicy host_maintenance_policy = 44 ;
@@ -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.
@@ -1155,6 +1174,53 @@ message SoleTenantConfig {
11551174 repeated NodeAffinity node_affinities = 1 ;
11561175}
11571176
1177+ // ContainerdConfig contains configuration to customize containerd.
1178+ message ContainerdConfig {
1179+ // PrivateRegistryAccessConfig contains access configuration for
1180+ // private container registries.
1181+ message PrivateRegistryAccessConfig {
1182+ // CertificateAuthorityDomainConfig configures one or more fully qualified
1183+ // domain names (FQDN) to a specific certificate.
1184+ message CertificateAuthorityDomainConfig {
1185+ // GCPSecretManagerCertificateConfig configures a secret from
1186+ // [Google Secret Manager](https://cloud.google.com/secret-manager).
1187+ message GCPSecretManagerCertificateConfig {
1188+ // Secret URI, in the form
1189+ // "projects/$PROJECT_ID/secrets/$SECRET_NAME/versions/$VERSION".
1190+ // Version can be fixed (e.g. "2") or "latest"
1191+ string secret_uri = 1 ;
1192+ }
1193+
1194+ // List of fully qualified domain names (FQDN).
1195+ // Specifying port is supported.
1196+ // Wilcards are NOT supported.
1197+ // Examples:
1198+ // - my.customdomain.com
1199+ // - 10.0.1.2:5000
1200+ repeated string fqdns = 1 ;
1201+
1202+ // Certificate access config. The following are supported:
1203+ // - GCPSecretManagerCertificateConfig
1204+ oneof certificate_config {
1205+ // Google Secret Manager (GCP) certificate configuration.
1206+ GCPSecretManagerCertificateConfig
1207+ gcp_secret_manager_certificate_config = 2;
1208+ }
1209+ }
1210+
1211+ // Private registry access is enabled.
1212+ bool enabled = 1 ;
1213+
1214+ // Private registry access configuration.
1215+ repeated CertificateAuthorityDomainConfig
1216+ certificate_authority_domain_config = 2;
1217+ }
1218+
1219+ // PrivateRegistryAccessConfig is used to configure access configuration
1220+ // for private container registries.
1221+ PrivateRegistryAccessConfig private_registry_access_config = 1 ;
1222+ }
1223+
11581224// HostMaintenancePolicy contains the maintenance policy for the hosts on which
11591225// the GKE VMs run on.
11601226message HostMaintenancePolicy {
@@ -1827,8 +1893,8 @@ message BinaryAuthorization {
18271893
18281894 // Binauthz policy that applies to this cluster.
18291895 message PolicyBinding {
1830- // The relative resource name of the binauthz platform policy to audit. GKE
1831- // platform policies have the following format:
1896+ // The relative resource name of the binauthz platform policy to evaluate.
1897+ // GKE platform policies have the following format:
18321898 // `projects/{project_number}/platforms/gke/policies/{policy_id}`.
18331899 optional string name = 1 ;
18341900 }
@@ -2291,6 +2357,43 @@ message Cluster {
22912357
22922358 // Secret CSI driver configuration.
22932359 SecretManagerConfig secret_manager_config = 150 ;
2360+
2361+ // Enable/Disable Compliance Posture features for the cluster.
2362+ CompliancePostureConfig compliance_posture_config = 151 ;
2363+
2364+ // Output only. Reserved for future use.
2365+ optional bool satisfies_pzs = 152 [(google.api.field_behavior ) = OUTPUT_ONLY ];
2366+
2367+ // Output only. Reserved for future use.
2368+ optional bool satisfies_pzi = 153 [(google.api.field_behavior ) = OUTPUT_ONLY ];
2369+ }
2370+
2371+ // CompliancePostureConfig defines the settings needed to enable/disable
2372+ // features for the Compliance Posture.
2373+ message CompliancePostureConfig {
2374+ // Mode defines enablement mode for Compliance Posture.
2375+ enum Mode {
2376+ // Default value not specified.
2377+ MODE_UNSPECIFIED = 0 ;
2378+
2379+ // Disables Compliance Posture features on the cluster.
2380+ DISABLED = 1 ;
2381+
2382+ // Enables Compliance Posture features on the cluster.
2383+ ENABLED = 2 ;
2384+ }
2385+
2386+ // Defines the details of a compliance standard.
2387+ message ComplianceStandard {
2388+ // Name of the compliance standard.
2389+ optional string standard = 1 ;
2390+ }
2391+
2392+ // Defines the enablement mode for Compliance Posture.
2393+ optional Mode mode = 1 ;
2394+
2395+ // List of enabled compliance standards.
2396+ repeated ComplianceStandard compliance_standards = 2 ;
22942397}
22952398
22962399// Kubernetes open source beta apis enabled on the cluster.
@@ -2363,6 +2466,9 @@ message SecurityPostureConfig {
23632466
23642467 // Applies Security Posture features on the cluster.
23652468 BASIC = 2 ;
2469+
2470+ // Applies the Security Posture off cluster Enterprise level features.
2471+ ENTERPRISE = 3 ;
23662472 }
23672473
23682474 // VulnerabilityMode defines enablement mode for vulnerability scanning.
@@ -2402,9 +2508,17 @@ message NodeConfigDefaults {
24022508 // Logging configuration for node pools.
24032509 NodePoolLoggingConfig logging_config = 3 ;
24042510
2511+ // Parameters for containerd customization.
2512+ ContainerdConfig containerd_config = 4 ;
2513+
24052514 // HostMaintenancePolicy contains the desired maintenance policy for the
24062515 // Google Compute Engine hosts.
24072516 HostMaintenancePolicy host_maintenance_policy = 5 ;
2517+
2518+ // NodeKubeletConfig controls the defaults for new node-pools.
2519+ //
2520+ // Currently only `insecure_kubelet_readonly_port_enabled` can be set here.
2521+ NodeKubeletConfig node_kubelet_config = 6 ;
24082522}
24092523
24102524// node pool configs that apply to all auto-provisioned node pools
@@ -2419,6 +2533,11 @@ message NodePoolAutoConfig {
24192533 // Resource manager tag keys and values to be attached to the nodes
24202534 // for managing Compute Engine firewalls using Network Firewall Policies.
24212535 ResourceManagerTags resource_manager_tags = 2 ;
2536+
2537+ // NodeKubeletConfig controls the defaults for autoprovisioned node-pools.
2538+ //
2539+ // Currently only `insecure_kubelet_readonly_port_enabled` can be set here.
2540+ NodeKubeletConfig node_kubelet_config = 3 ;
24222541}
24232542
24242543// ClusterUpdate describes an update to the cluster. Exactly one update can
@@ -2511,7 +2630,12 @@ message ClusterUpdate {
25112630 // Cluster-level Vertical Pod Autoscaling configuration.
25122631 VerticalPodAutoscaling desired_vertical_pod_autoscaling = 22 ;
25132632
2514- // The desired private cluster configuration.
2633+ // The desired private cluster configuration. master_global_access_config is
2634+ // the only field that can be changed via this field.
2635+ // See also
2636+ // [ClusterUpdate.desired_enable_private_endpoint][google.container.v1beta1.ClusterUpdate.desired_enable_private_endpoint]
2637+ // for modifying other fields within
2638+ // [PrivateClusterConfig][google.container.v1beta1.PrivateClusterConfig].
25152639 PrivateClusterConfig desired_private_cluster_config = 25 ;
25162640
25172641 // The desired config of Intra-node visibility.
@@ -2526,6 +2650,11 @@ message ClusterUpdate {
25262650 // The desired release channel configuration.
25272651 ReleaseChannel desired_release_channel = 31 ;
25282652
2653+ // The desired private cluster configuration. Has no effect. Use
2654+ // [desired_private_cluster_config][google.container.v1beta1.ClusterUpdate.desired_private_cluster_config]
2655+ // instead.
2656+ PrivateClusterConfig private_cluster_config = 37 [deprecated = true ];
2657+
25292658 // The desired Cloud TPU configuration.
25302659 TpuConfig desired_tpu_config = 38 ;
25312660
@@ -2665,6 +2794,9 @@ message ClusterUpdate {
26652794 // Google Compute Engine hosts.
26662795 HostMaintenancePolicy desired_host_maintenance_policy = 132 ;
26672796
2797+ // The desired containerd config for the cluster.
2798+ ContainerdConfig desired_containerd_config = 134 ;
2799+
26682800 // Enable/Disable Multi-Networking for the cluster
26692801 optional bool desired_enable_multi_networking = 135 ;
26702802
@@ -2673,13 +2805,21 @@ message ClusterUpdate {
26732805 ResourceManagerTags desired_node_pool_auto_config_resource_manager_tags = 136 ;
26742806
26752807 // Specify the details of in-transit encryption.
2808+ // Now named inter-node transparent encryption.
26762809 optional InTransitEncryptionConfig desired_in_transit_encryption_config = 137 ;
26772810
26782811 // Enable/Disable Cilium Clusterwide Network Policy for the cluster.
26792812 optional bool desired_enable_cilium_clusterwide_network_policy = 138 ;
26802813
26812814 // Enable/Disable Secret Manager Config.
26822815 optional SecretManagerConfig desired_secret_manager_config = 139 ;
2816+
2817+ // The desired node kubelet config for the cluster.
2818+ NodeKubeletConfig desired_node_kubelet_config = 141 ;
2819+
2820+ // The desired node kubelet config for all auto-provisioned node pools
2821+ // in autopilot clusters and node auto-provisioning enabled clusters.
2822+ NodeKubeletConfig desired_node_pool_auto_config_kubelet_config = 142 ;
26832823}
26842824
26852825// AdditionalPodRangesConfig is the configuration for additional pod secondary
@@ -3148,6 +3288,11 @@ message UpdateNodePoolRequest {
31483288 // Parameters that can be configured on Windows nodes.
31493289 WindowsNodeConfig windows_node_config = 34 ;
31503290
3291+ // A list of hardware accelerators to be attached to each node.
3292+ // See https://cloud.google.com/compute/docs/gpus for more information about
3293+ // support for GPUs.
3294+ repeated AcceleratorConfig accelerators = 35 ;
3295+
31513296 // Optional. The desired machine type for nodes in the node pool.
31523297 // Initiates an upgrade operation that migrates the nodes in the
31533298 // node pool to the specified machine type.
@@ -3168,6 +3313,11 @@ message UpdateNodePoolRequest {
31683313 // Existing tags will be replaced with new values.
31693314 ResourceManagerTags resource_manager_tags = 39 ;
31703315
3316+ // The desired containerd config for nodes in the node pool.
3317+ // Initiates an upgrade operation that recreates the nodes with the new
3318+ // config.
3319+ ContainerdConfig containerd_config = 40 ;
3320+
31713321 // Specifies the configuration of queued provisioning.
31723322 NodePool.QueuedProvisioning queued_provisioning = 42 ;
31733323}
@@ -4685,6 +4835,9 @@ message GPUSharingConfig {
46854835
46864836 // GPUs are time-shared between containers.
46874837 TIME_SHARING = 1 ;
4838+
4839+ // GPUs are shared between containers with NVIDIA MPS.
4840+ MPS = 2 ;
46884841 }
46894842
46904843 // The max number of containers that can share a physical GPU.
@@ -5190,6 +5343,10 @@ message DNSConfig {
51905343
51915344 // cluster_dns_domain is the suffix used for all cluster service records.
51925345 string cluster_dns_domain = 3 ;
5346+
5347+ // Optional. The domain used in Additive VPC scope.
5348+ string additive_vpc_scope_dns_domain = 5
5349+ [(google.api.field_behavior ) = OPTIONAL ];
51935350}
51945351
51955352// Constraints applied to pods.
@@ -5932,6 +6089,12 @@ message MonitoringComponentConfig {
59326089
59336090 // Statefulset
59346091 STATEFULSET = 12 ;
6092+
6093+ // CADVISOR
6094+ CADVISOR = 13 ;
6095+
6096+ // KUBELET
6097+ KUBELET = 14 ;
59356098 }
59366099
59376100 // Select components to collect metrics. An empty set would disable all
0 commit comments