Skip to content

Commit b53aeac

Browse files
Google APIscopybara-github
authored andcommitted
feat: add policy_name to PlacementPolicy message within a node pool
feat: add support for HostMaintenancePolicy feat: add support for AdditionalPodNetworkConfig and AdditionalNodeNetworkConfig feat: add enable_multi_networking to NetworkConfig PiperOrigin-RevId: 550168784
1 parent d917445 commit b53aeac

1 file changed

Lines changed: 79 additions & 0 deletions

File tree

google/container/v1beta1/cluster_service.proto

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -828,6 +828,10 @@ message NodeConfig {
828828

829829
// Parameters for node pools to be backed by shared sole tenant node groups.
830830
SoleTenantConfig sole_tenant_config = 42;
831+
832+
// HostMaintenancePolicy contains the desired maintenance policy for the
833+
// Google Compute Engine hosts.
834+
HostMaintenancePolicy host_maintenance_policy = 44;
831835
}
832836

833837
// Specifies options for controlling advanced machine features.
@@ -922,13 +926,45 @@ message NodeNetworkConfig {
922926
// overprovisioning is disabled.
923927
PodCIDROverprovisionConfig pod_cidr_overprovision_config = 13;
924928

929+
// We specify the additional node networks for this node pool using this list.
930+
// Each node network corresponds to an additional interface
931+
repeated AdditionalNodeNetworkConfig additional_node_network_configs = 14;
932+
933+
// We specify the additional pod networks for this node pool using this list.
934+
// Each pod network corresponds to an additional alias IP range for the node
935+
repeated AdditionalPodNetworkConfig additional_pod_network_configs = 15;
936+
925937
// Output only. [Output only] The utilization of the IPv4 range for the pod.
926938
// The ratio is Usage/[Total number of IPs in the secondary range],
927939
// Usage=numNodes*numZones*podIPsPerNode.
928940
double pod_ipv4_range_utilization = 16
929941
[(google.api.field_behavior) = OUTPUT_ONLY];
930942
}
931943

944+
// AdditionalNodeNetworkConfig is the configuration for additional node networks
945+
// within the NodeNetworkConfig message
946+
message AdditionalNodeNetworkConfig {
947+
// Name of the VPC where the additional interface belongs
948+
string network = 1;
949+
950+
// Name of the subnetwork where the additional interface belongs
951+
string subnetwork = 2;
952+
}
953+
954+
// AdditionalPodNetworkConfig is the configuration for additional pod networks
955+
// within the NodeNetworkConfig message
956+
message AdditionalPodNetworkConfig {
957+
// Name of the subnetwork where the additional pod network belongs
958+
string subnetwork = 1;
959+
960+
// The name of the secondary range on the subnet which provides IP address for
961+
// this pod range
962+
string secondary_pod_range = 2;
963+
964+
// The maximum number of pods per node which use this pod network
965+
optional MaxPodsConstraint max_pods_per_node = 3;
966+
}
967+
932968
// A set of Shielded Instance options.
933969
message ShieldedInstanceConfig {
934970
// Defines whether the instance has Secure Boot enabled.
@@ -1073,6 +1109,33 @@ message SoleTenantConfig {
10731109
repeated NodeAffinity node_affinities = 1;
10741110
}
10751111

1112+
// HostMaintenancePolicy contains the maintenance policy for the hosts on which
1113+
// the GKE VMs run on.
1114+
message HostMaintenancePolicy {
1115+
// Allows selecting how infrastructure upgrades should be applied to the
1116+
// cluster or node pool.
1117+
enum MaintenanceInterval {
1118+
// The maintenance interval is not explicitly specified.
1119+
MAINTENANCE_INTERVAL_UNSPECIFIED = 0;
1120+
1121+
// Nodes are eligible to receive infrastructure and hypervisor updates as
1122+
// they become available. This may result in more maintenance operations
1123+
// (live migrations or terminations) for the node than the PERIODIC option.
1124+
AS_NEEDED = 1;
1125+
1126+
// Nodes receive infrastructure and hypervisor updates on a periodic basis,
1127+
// minimizing the number of maintenance operations (live migrations or
1128+
// terminations) on an individual VM. This may mean underlying VMs will
1129+
// take longer to receive an update than if it was configured for
1130+
// AS_NEEDED. Security updates will still be applied as soon
1131+
// as they are available.
1132+
PERIODIC = 2;
1133+
}
1134+
1135+
// Specifies the frequency of planned maintenance events.
1136+
optional MaintenanceInterval maintenance_interval = 1;
1137+
}
1138+
10761139
// Kubernetes taint is composed of three fields: key, value, and effect. Effect
10771140
// can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute.
10781141
//
@@ -2222,6 +2285,10 @@ message NodeConfigDefaults {
22222285

22232286
// Logging configuration for node pools.
22242287
NodePoolLoggingConfig logging_config = 3;
2288+
2289+
// HostMaintenancePolicy contains the desired maintenance policy for the
2290+
// Google Compute Engine hosts.
2291+
HostMaintenancePolicy host_maintenance_policy = 5;
22252292
}
22262293

22272294
// node pool configs that apply to all auto-provisioned node pools
@@ -2472,6 +2539,10 @@ message ClusterUpdate {
24722539

24732540
// Beta APIs enabled for cluster.
24742541
K8sBetaAPIConfig desired_k8s_beta_apis = 131;
2542+
2543+
// HostMaintenancePolicy contains the desired maintenance policy for the
2544+
// Google Compute Engine hosts.
2545+
HostMaintenancePolicy desired_host_maintenance_policy = 132;
24752546
}
24762547

24772548
// AdditionalPodRangesConfig is the configuration for additional pod secondary
@@ -3741,6 +3812,11 @@ message NodePool {
37413812
// TPU placement topology for pod slice node pool.
37423813
// https://cloud.google.com/tpu/docs/types-topologies#tpu_topologies
37433814
string tpu_topology = 2;
3815+
3816+
// If set, refers to the name of a custom resource policy supplied by the
3817+
// user. The resource policy must be in the same project and region as the
3818+
// node pool. If not found, InvalidArgument error is returned.
3819+
string policy_name = 3;
37443820
}
37453821

37463822
// The name of the node pool.
@@ -4722,6 +4798,9 @@ message NetworkConfig {
47224798
// cluster.
47234799
GatewayAPIConfig gateway_api_config = 16;
47244800

4801+
// Whether multi-networking is enabled for this cluster.
4802+
bool enable_multi_networking = 17;
4803+
47254804
// Network bandwidth tier configuration.
47264805
ClusterNetworkPerformanceConfig network_performance_config = 18;
47274806

0 commit comments

Comments
 (0)