Skip to content

Commit 1c86e27

Browse files
feat: [container] add a flag to toggle the Kubelet read only port (#4387)
* feat: Add `KUBE_DNS` option to `DNSConfig.cluster_dns` --- feat: add Tier 1 cluster-level API network_performance_config PiperOrigin-RevId: 544446757 Source-Link: googleapis/googleapis@becb844 Source-Link: googleapis/googleapis-gen@0ffa236 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNvbnRhaW5lci8uT3dsQm90LnlhbWwiLCJoIjoiMGZmYTIzNjE5NjdlMmY3NzZhMGY5M2ZlNWUzM2MwMWRhN2I2MGViYSJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * feat: add a flag to toggle the Kubelet read only port A new optional field `InsecureKubeletReadonlyPortEnabled` is available in `NodeKubeletConfig` and `AutoProvisioningNodePoolDefaults`. Setting the field to `false` turns off the read-only port. If un-set, the default for the GKE version is used. --- feat: publicize tpu topology in beta API --- feat: add a Pod IP Utilization API Users can use `cluster describe` command to check the Pod IP ranges utilizations consumed by all the node pools within the same cluster. This percentage can be seen at cluster default Pod range, additional Pod ranges, and node pool level Pod ranges. PiperOrigin-RevId: 545172252 Source-Link: googleapis/googleapis@5b2d46f Source-Link: googleapis/googleapis-gen@efa201a Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNvbnRhaW5lci8uT3dsQm90LnlhbWwiLCJoIjoiZWZhMjAxYTJiZGQwNjQyYmQ1ZGZkZWNmOTJmN2MzYTBjMzhkY2E4NSJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: Denis DelGrosso <[email protected]>
1 parent 12d6ac6 commit 1c86e27

4 files changed

Lines changed: 1187 additions & 5 deletions

File tree

packages/google-container/protos/google/container/v1beta1/cluster_service.proto

Lines changed: 61 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -606,6 +606,9 @@ message NodeKubeletConfig {
606606
// Controls the maximum number of processes allowed to run in a pod. The value
607607
// must be greater than or equal to 1024 and less than 4194304.
608608
int64 pod_pids_limit = 4;
609+
610+
// Enable or disable Kubelet read only port.
611+
optional bool insecure_kubelet_readonly_port_enabled = 7;
609612
}
610613

611614
// Parameters that describe the nodes in a cluster.
@@ -716,7 +719,7 @@ message NodeConfig {
716719

717720
// Whether the nodes are created as preemptible VM instances. See:
718721
// https://cloud.google.com/compute/docs/instances/preemptible for more
719-
// inforamtion about preemptible VM instances.
722+
// information about preemptible VM instances.
720723
bool preemptible = 10;
721724

722725
// A list of hardware accelerators to be attached to each node.
@@ -918,6 +921,12 @@ message NodeNetworkConfig {
918921
// Example: max_pods_per_node of 30 will result in 32 IPs (/27) when
919922
// overprovisioning is disabled.
920923
PodCIDROverprovisionConfig pod_cidr_overprovision_config = 13;
924+
925+
// Output only. [Output only] The utilization of the IPv4 range for pod.
926+
// The ratio is Usage/[Total number of IPs in the secondary range],
927+
// Usage=numNodes*numZones*podIPsPerNode.
928+
double pod_ipv4_range_utilization = 16
929+
[(google.api.field_behavior) = OUTPUT_ONLY];
921930
}
922931

923932
// A set of Shielded Instance options.
@@ -1636,6 +1645,12 @@ message IPAllocationPolicy {
16361645
// IPAllocationPolicy.
16371646
AdditionalPodRangesConfig additional_pod_ranges_config = 24
16381647
[(google.api.field_behavior) = OUTPUT_ONLY];
1648+
1649+
// Output only. [Output only] The utilization of the cluster default IPv4
1650+
// range for pod. The ratio is Usage/[Total number of IPs in the secondary
1651+
// range], Usage=numNodes*numZones*podIPsPerNode.
1652+
double default_pod_ipv4_range_utilization = 25
1653+
[(google.api.field_behavior) = OUTPUT_ONLY];
16391654
}
16401655

16411656
// Configuration for Binary Authorization.
@@ -2445,6 +2460,10 @@ message ClusterUpdate {
24452460
// Enable/Disable Security Posture API features for the cluster.
24462461
SecurityPostureConfig desired_security_posture_config = 124;
24472462

2463+
// The desired network performance config.
2464+
NetworkConfig.ClusterNetworkPerformanceConfig
2465+
desired_network_performance_config = 125;
2466+
24482467
// Enable/Disable FQDN Network Policy for the cluster.
24492468
optional bool desired_enable_fqdn_network_policy = 126;
24502469

@@ -2460,6 +2479,19 @@ message ClusterUpdate {
24602479
message AdditionalPodRangesConfig {
24612480
// Name for pod secondary ipv4 range which has the actual range defined ahead.
24622481
repeated string pod_range_names = 1;
2482+
2483+
// Output only. [Output only] Information for additional pod range.
2484+
repeated RangeInfo pod_range_info = 2
2485+
[(google.api.field_behavior) = OUTPUT_ONLY];
2486+
}
2487+
2488+
// RangeInfo contains the range name and the range utilization by this cluster.
2489+
message RangeInfo {
2490+
// Output only. [Output only] Name of a range.
2491+
string range_name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
2492+
2493+
// Output only. [Output only] The utilization of the range.
2494+
double utilization = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
24632495
}
24642496

24652497
// This operation resource represents operations that may have happened or are
@@ -3705,6 +3737,10 @@ message NodePool {
37053737

37063738
// The type of placement.
37073739
Type type = 1;
3740+
3741+
// TPU placement topology for pod slice node pool.
3742+
// https://cloud.google.com/tpu/docs/types-topologies#tpu_topologies
3743+
string tpu_topology = 2;
37083744
}
37093745

37103746
// The name of the node pool.
@@ -4170,6 +4206,9 @@ message AutoprovisioningNodePoolDefaults {
41704206
// https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for
41714207
// available image types.
41724208
string image_type = 10;
4209+
4210+
// Enable or disable Kubelet read only port.
4211+
optional bool insecure_kubelet_readonly_port_enabled = 13;
41734212
}
41744213

41754214
// Contains information about amount of some resource in the cluster.
@@ -4623,6 +4662,21 @@ message StatusCondition {
46234662

46244663
// NetworkConfig reports the relative names of network & subnetwork.
46254664
message NetworkConfig {
4665+
// Configuration of all network bandwidth tiers
4666+
message ClusterNetworkPerformanceConfig {
4667+
// Node network tier
4668+
enum Tier {
4669+
// Default value
4670+
TIER_UNSPECIFIED = 0;
4671+
4672+
// Higher bandwidth, actual values based on VM size.
4673+
TIER_1 = 1;
4674+
}
4675+
4676+
// Specifies the total network bandwidth tier for the NodePool.
4677+
optional Tier total_egress_bandwidth_tier = 1;
4678+
}
4679+
46264680
// Output only. The relative name of the Google Compute Engine
46274681
// [network][google.container.v1beta1.NetworkConfig.network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
46284682
// to which the cluster is connected. Example:
@@ -4668,6 +4722,9 @@ message NetworkConfig {
46684722
// cluster.
46694723
GatewayAPIConfig gateway_api_config = 16;
46704724

4725+
// Network bandwidth tier configuration.
4726+
ClusterNetworkPerformanceConfig network_performance_config = 18;
4727+
46714728
// Whether FQDN Network Policy is enabled on this cluster.
46724729
optional bool enable_fqdn_network_policy = 19;
46734730
}
@@ -4837,6 +4894,9 @@ message DNSConfig {
48374894

48384895
// Use CloudDNS for DNS resolution.
48394896
CLOUD_DNS = 2;
4897+
4898+
// Use KubeDNS for DNS resolution
4899+
KUBE_DNS = 3;
48404900
}
48414901

48424902
// DNSScope lists the various scopes of access to cluster DNS records.

0 commit comments

Comments
 (0)