Skip to content

Commit 5730cdf

Browse files
Google APIscopybara-github
authored andcommitted
feat: A new message HugepagesConfig is added
feat: A new field `hugepages` is added to message `.google.container.v1beta1.LinuxNodeConfig` feat: A new field `containerd_config` is added to message `.google.container.v1beta1.NodeConfig` feat: A new field `enable_nested_virtualization` is added to message `.google.container.v1beta1.AdvancedMachineFeatures` feat: A new message `ContainerdConfig` is added feat: A new field `compliance_posture_config` is added to message `.google.container.v1beta1.Cluster` feat: A new field `satisfies_pzs` is added to message `.google.container.v1beta1.Cluster` feat: A new field `satisfies_pzi` is added to message `.google.container.v1beta1.Cluster` feat: A new message `CompliancePostureConfig` is added feat: A new value `ENTERPRISE` is added to enum `Mode` feat: A new field `containerd_config` is added to message `.google.container.v1beta1.NodeConfigDefaults` feat: A new field `node_kubelet_config` is added to message `.google.container.v1beta1.NodeConfigDefaults` feat: A new field `node_kubelet_config` is added to message `.google.container.v1beta1.NodePoolAutoConfig` feat: A new field `private_cluster_config` is added to message `.google.container.v1beta1.ClusterUpdate` feat: A new field `desired_containerd_config` is added to message `.google.container.v1beta1.ClusterUpdate` feat: A new field `desired_node_kubelet_config` is added to message `.google.container.v1beta1.ClusterUpdate` feat: A new field `desired_node_pool_auto_config_kubelet_config` is added to message `.google.container.v1beta1.ClusterUpdate` feat: A new field `accelerators` is added to message `.google.container.v1beta1.UpdateNodePoolRequest` feat: A new field `containerd_config` is added to message `.google.container.v1beta1.UpdateNodePoolRequest` feat: A new value `MPS` is added to enum `GPUSharingStrategy` feat: A new field `additive_vpc_scope_dns_domain` is added to message `.google.container.v1beta1.DNSConfig` feat: A new value `CADVISOR` is added to enum `Component` feat: A new value `KUBELET` is added to enum `Component` docs: A comment for field `name` in message `.google.container.v1beta1.BinaryAuthorization` is changed docs: A comment for field `desired_private_cluster_config` in message `.google.container.v1beta1.ClusterUpdate` is changed docs: A comment for field `desired_in_transit_encryption_config` in message `.google.container.v1beta1.ClusterUpdate` is changed PiperOrigin-RevId: 637999010
1 parent 485a3de commit 5730cdf

1 file changed

Lines changed: 166 additions & 3 deletions

File tree

google/container/v1beta1/cluster_service.proto

Lines changed: 166 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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.
11601226
message 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

Comments
 (0)