Skip to content

Commit d266f18

Browse files
feat: [container] add a API field to enable FQDN Network Policy on clusters (#4319)
- [ ] Regenerate this pull request now. --- feat: turn on public visibility for best effort provision --- feat: add CheckAutopilotCompatibility API to get autopilot compatibility issues for a given standard cluster PiperOrigin-RevId: 537987027 Source-Link: https://togithub.com/googleapis/googleapis/commit/5a5735972ca46dafcf70caea39aec5f2b67130fb Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/8c47f208c5e704be08afcf278fb021779cb53da0 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNvbnRhaW5lci8uT3dsQm90LnlhbWwiLCJoIjoiOGM0N2YyMDhjNWU3MDRiZTA4YWZjZjI3OGZiMDIxNzc5Y2I1M2RhMCJ9 BEGIN_NESTED_COMMIT feat: [container] add a API field to enable FQDN Network Policy on clusters --- feat: turn on public visibility for best effort provision --- feat: add CheckAutopilotCompatibility API to get autopilot compatibility issues for a given standard cluster PiperOrigin-RevId: 537883922 Source-Link: https://togithub.com/googleapis/googleapis/commit/e1de7d7cfac0fe2faf265381b8d0b616c93f1d6b Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/66f4014cfe85984b171d20c6ad5d73fed27a9680 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNvbnRhaW5lci8uT3dsQm90LnlhbWwiLCJoIjoiNjZmNDAxNGNmZTg1OTg0YjE3MWQyMGM2YWQ1ZDczZmVkMjdhOTY4MCJ9 END_NESTED_COMMIT
1 parent 8ffd911 commit d266f18

19 files changed

Lines changed: 5454 additions & 0 deletions

packages/google-container/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/
9090
| Sample | Source Code | Try it |
9191
| --------------------------- | --------------------------------- | ------ |
9292
| Cluster_manager.cancel_operation | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-container/samples/generated/v1/cluster_manager.cancel_operation.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-container/samples/generated/v1/cluster_manager.cancel_operation.js,packages/google-container/samples/README.md) |
93+
| Cluster_manager.check_autopilot_compatibility | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-container/samples/generated/v1/cluster_manager.check_autopilot_compatibility.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-container/samples/generated/v1/cluster_manager.check_autopilot_compatibility.js,packages/google-container/samples/README.md) |
9394
| Cluster_manager.complete_i_p_rotation | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-container/samples/generated/v1/cluster_manager.complete_i_p_rotation.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-container/samples/generated/v1/cluster_manager.complete_i_p_rotation.js,packages/google-container/samples/README.md) |
9495
| Cluster_manager.complete_node_pool_upgrade | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-container/samples/generated/v1/cluster_manager.complete_node_pool_upgrade.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-container/samples/generated/v1/cluster_manager.complete_node_pool_upgrade.js,packages/google-container/samples/README.md) |
9596
| Cluster_manager.create_cluster | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-container/samples/generated/v1/cluster_manager.create_cluster.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-container/samples/generated/v1/cluster_manager.create_cluster.js,packages/google-container/samples/README.md) |
@@ -123,6 +124,7 @@ Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/
123124
| Cluster_manager.update_master | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-container/samples/generated/v1/cluster_manager.update_master.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-container/samples/generated/v1/cluster_manager.update_master.js,packages/google-container/samples/README.md) |
124125
| Cluster_manager.update_node_pool | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-container/samples/generated/v1/cluster_manager.update_node_pool.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-container/samples/generated/v1/cluster_manager.update_node_pool.js,packages/google-container/samples/README.md) |
125126
| Cluster_manager.cancel_operation | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-container/samples/generated/v1beta1/cluster_manager.cancel_operation.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-container/samples/generated/v1beta1/cluster_manager.cancel_operation.js,packages/google-container/samples/README.md) |
127+
| Cluster_manager.check_autopilot_compatibility | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-container/samples/generated/v1beta1/cluster_manager.check_autopilot_compatibility.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-container/samples/generated/v1beta1/cluster_manager.check_autopilot_compatibility.js,packages/google-container/samples/README.md) |
126128
| Cluster_manager.complete_i_p_rotation | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-container/samples/generated/v1beta1/cluster_manager.complete_i_p_rotation.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-container/samples/generated/v1beta1/cluster_manager.complete_i_p_rotation.js,packages/google-container/samples/README.md) |
127129
| Cluster_manager.complete_node_pool_upgrade | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-container/samples/generated/v1beta1/cluster_manager.complete_node_pool_upgrade.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-container/samples/generated/v1beta1/cluster_manager.complete_node_pool_upgrade.js,packages/google-container/samples/README.md) |
128130
| Cluster_manager.create_cluster | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-container/samples/generated/v1beta1/cluster_manager.create_cluster.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-container/samples/generated/v1beta1/cluster_manager.create_cluster.js,packages/google-container/samples/README.md) |

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

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,15 @@ service ClusterManager {
505505
get: "/v1/{parent=projects/*}/aggregated/usableSubnetworks"
506506
};
507507
}
508+
509+
// Checks the cluster compatibility with Autopilot mode, and returns a list of
510+
// compatibility issues.
511+
rpc CheckAutopilotCompatibility(CheckAutopilotCompatibilityRequest)
512+
returns (CheckAutopilotCompatibilityResponse) {
513+
option (google.api.http) = {
514+
get: "/v1/{name=projects/*/locations/*/clusters/*}:checkAutopilotCompatibility"
515+
};
516+
}
508517
}
509518

510519
// Parameters that can be configured on Linux nodes.
@@ -1901,6 +1910,15 @@ message Cluster {
19011910

19021911
// Fleet information for the cluster.
19031912
Fleet fleet = 140;
1913+
1914+
// Beta APIs Config
1915+
K8sBetaAPIConfig enable_k8s_beta_apis = 143;
1916+
}
1917+
1918+
// K8sBetaAPIConfig , configuration for beta APIs
1919+
message K8sBetaAPIConfig {
1920+
// Enabled k8s beta APIs.
1921+
repeated string enabled_apis = 1;
19041922
}
19051923

19061924
// Node pool configs that apply to all auto-provisioned node pools
@@ -2123,6 +2141,15 @@ message ClusterUpdate {
21232141
// The pod ranges specified here must have been specified earlier in the
21242142
// 'additional_pod_ranges_config' argument.
21252143
AdditionalPodRangesConfig removed_additional_pod_ranges_config = 121;
2144+
2145+
// Kubernetes open source beta apis enabled on the cluster. Only beta apis
2146+
K8sBetaAPIConfig enable_k8s_beta_apis = 122;
2147+
2148+
// Enable/Disable FQDN Network Policy for the cluster.
2149+
optional bool desired_enable_fqdn_network_policy = 126;
2150+
2151+
// Desired Beta APIs to be enabled for cluster.
2152+
K8sBetaAPIConfig desired_k8s_beta_apis = 131;
21262153
}
21272154

21282155
// AdditionalPodRangesConfig is the configuration for additional pod secondary
@@ -3367,6 +3394,9 @@ message NodePool {
33673394
// fields, and may be sent on update requests to ensure the client has an
33683395
// up-to-date value before proceeding.
33693396
string etag = 110;
3397+
3398+
// Enable best effort provisioning for nodes
3399+
BestEffortProvisioning best_effort_provisioning = 113;
33703400
}
33713401

33723402
// NodeManagement defines the set of node management services turned on for the
@@ -3387,6 +3417,19 @@ message NodeManagement {
33873417
AutoUpgradeOptions upgrade_options = 10;
33883418
}
33893419

3420+
// Best effort provisioning.
3421+
message BestEffortProvisioning {
3422+
// When this is enabled, cluster/node pool creations will ignore non-fatal
3423+
// errors like stockout to best provision as many nodes as possible right now
3424+
// and eventually bring up all target number of nodes
3425+
bool enabled = 1;
3426+
3427+
// Minimum number of nodes to be provisioned to be considered as succeeded,
3428+
// and the rest of nodes will be provisioned gradually and eventually when
3429+
// stockout issue has been resolved.
3430+
int32 min_provision_nodes = 2;
3431+
}
3432+
33903433
// AutoUpgradeOptions defines the set of options for the user to control how
33913434
// the Auto Upgrades will proceed.
33923435
message AutoUpgradeOptions {
@@ -4096,6 +4139,9 @@ message NetworkConfig {
40964139
// GatewayAPIConfig contains the desired config of Gateway API on this
40974140
// cluster.
40984141
GatewayAPIConfig gateway_api_config = 16;
4142+
4143+
// Whether FQDN Network Policy is enabled on this cluster.
4144+
optional bool enable_fqdn_network_policy = 19;
40994145
}
41004146

41014147
// GatewayAPIConfig contains the desired config of Gateway API on this cluster.
@@ -4206,6 +4252,64 @@ message GetJSONWebKeysResponse {
42064252
repeated Jwk keys = 1;
42074253
}
42084254

4255+
// CheckAutopilotCompatibilityRequest requests getting the blockers for the
4256+
// given operation in the cluster.
4257+
message CheckAutopilotCompatibilityRequest {
4258+
// The name (project, location, cluster) of the cluster to retrieve.
4259+
// Specified in the format `projects/*/locations/*/clusters/*`.
4260+
string name = 1;
4261+
}
4262+
4263+
// AutopilotCompatibilityIssue contains information about a specific
4264+
// compatibility issue with Autopilot mode.
4265+
message AutopilotCompatibilityIssue {
4266+
// The type of the reported issue.
4267+
enum IssueType {
4268+
// Default value, should not be used.
4269+
UNSPECIFIED = 0;
4270+
4271+
// Indicates that the issue is a known incompatibility between the
4272+
// cluster and Autopilot mode.
4273+
INCOMPATIBILITY = 1;
4274+
4275+
// Indicates the issue is an incompatibility if customers take no further
4276+
// action to resolve.
4277+
ADDITIONAL_CONFIG_REQUIRED = 2;
4278+
4279+
// Indicates the issue is not an incompatibility, but depending on the
4280+
// workloads business logic, there is a potential that they won't work on
4281+
// Autopilot.
4282+
PASSED_WITH_OPTIONAL_CONFIG = 3;
4283+
}
4284+
4285+
// The last time when this issue was observed.
4286+
google.protobuf.Timestamp last_observation = 1;
4287+
4288+
// The constraint type of the issue.
4289+
string constraint_type = 2;
4290+
4291+
// The incompatibility type of this issue.
4292+
IssueType incompatibility_type = 3;
4293+
4294+
// The name of the resources which are subject to this issue.
4295+
repeated string subjects = 4;
4296+
4297+
// A URL to a public documnetation, which addresses resolving this issue.
4298+
string documentation_url = 5;
4299+
4300+
// The description of the issue.
4301+
string description = 6;
4302+
}
4303+
4304+
// CheckAutopilotCompatibilityResponse has a list of compatibility issues.
4305+
message CheckAutopilotCompatibilityResponse {
4306+
// The list of issues for the given operation.
4307+
repeated AutopilotCompatibilityIssue issues = 1;
4308+
4309+
// The summary of the autopilot compatibility response.
4310+
string summary = 2;
4311+
}
4312+
42094313
// ReleaseChannel indicates which release channel a cluster is
42104314
// subscribed to. Release channels are arranged in order of risk.
42114315
//

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

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -489,6 +489,15 @@ service ClusterManager {
489489
option (google.api.method_signature) = "parent";
490490
}
491491

492+
// Checks the cluster compatibility with Autopilot mode, and returns a list of
493+
// compatibility issues.
494+
rpc CheckAutopilotCompatibility(CheckAutopilotCompatibilityRequest)
495+
returns (CheckAutopilotCompatibilityResponse) {
496+
option (google.api.http) = {
497+
get: "/v1beta1/{name=projects/*/locations/*/clusters/*}:checkAutopilotCompatibility"
498+
};
499+
}
500+
492501
// Fetches locations that offer Google Kubernetes Engine.
493502
rpc ListLocations(ListLocationsRequest) returns (ListLocationsResponse) {
494503
option (google.api.http) = {
@@ -1843,6 +1852,9 @@ message Cluster {
18431852
// creation.
18441853
bool enable_kubernetes_alpha = 14;
18451854

1855+
// Kubernetes open source beta apis enabled on the cluster. Only beta apis.
1856+
K8sBetaAPIConfig enable_k8s_beta_apis = 143;
1857+
18461858
// The resource labels for the cluster to use to annotate any related
18471859
// Google Compute Engine resources.
18481860
map<string, string> resource_labels = 15;
@@ -2088,6 +2100,12 @@ message Cluster {
20882100
Fleet fleet = 140;
20892101
}
20902102

2103+
// Kubernetes open source beta apis enabled on the cluster.
2104+
message K8sBetaAPIConfig {
2105+
// api name, e.g. storage.k8s.io/v1beta1/csistoragecapacities.
2106+
repeated string enabled_apis = 1;
2107+
}
2108+
20912109
// WorkloadConfig defines the flags to enable or disable the
20922110
// workload configurations for the cluster.
20932111
message WorkloadConfig {
@@ -2383,6 +2401,15 @@ message ClusterUpdate {
23832401
// The pod ranges specified here must have been specified earlier in the
23842402
// 'additional_pod_ranges_config' argument.
23852403
AdditionalPodRangesConfig removed_additional_pod_ranges_config = 121;
2404+
2405+
// Kubernetes open source beta apis enabled on the cluster. Only beta apis
2406+
K8sBetaAPIConfig enable_k8s_beta_apis = 122;
2407+
2408+
// Enable/Disable FQDN Network Policy for the cluster.
2409+
optional bool desired_enable_fqdn_network_policy = 126;
2410+
2411+
// Beta APIs enabled for cluster.
2412+
K8sBetaAPIConfig desired_k8s_beta_apis = 131;
23862413
}
23872414

23882415
// AdditionalPodRangesConfig is the configuration for additional pod secondary
@@ -3291,6 +3318,19 @@ message ServerConfig {
32913318
map<string, WindowsVersions> windows_version_maps = 10;
32923319
}
32933320

3321+
// Best effort provisioning.
3322+
message BestEffortProvisioning {
3323+
// When this is enabled, cluster/node pool creations will ignore non-fatal
3324+
// errors like stockout to best provision as many nodes as possible right now
3325+
// and eventually bring up all target number of nodes
3326+
bool enabled = 1;
3327+
3328+
// Minimum number of nodes to be provisioned to be considered as succeeded,
3329+
// and the rest of nodes will be provisioned gradually and eventually when
3330+
// stockout issue has been resolved.
3331+
int32 min_provision_nodes = 2;
3332+
}
3333+
32943334
// Windows server versions.
32953335
message WindowsVersions {
32963336
// Windows server version.
@@ -3706,6 +3746,9 @@ message NodePool {
37063746
// fields, and may be sent on update requests to ensure the client has an
37073747
// up-to-date value before proceeding.
37083748
string etag = 110;
3749+
3750+
// Enable best effort provisioning for nodes
3751+
BestEffortProvisioning best_effort_provisioning = 113;
37093752
}
37103753

37113754
// NodeManagement defines the set of node management services turned on for the
@@ -4556,6 +4599,9 @@ message NetworkConfig {
45564599
// GatewayAPIConfig contains the desired config of Gateway API on this
45574600
// cluster.
45584601
GatewayAPIConfig gateway_api_config = 16;
4602+
4603+
// Whether FQDN Network Policy is enabled on this cluster.
4604+
optional bool enable_fqdn_network_policy = 19;
45594605
}
45604606

45614607
// GatewayAPIConfig contains the desired config of Gateway API on this cluster.
@@ -4953,6 +4999,64 @@ message GetJSONWebKeysResponse {
49534999
repeated Jwk keys = 1;
49545000
}
49555001

5002+
// CheckAutopilotCompatibilityRequest requests getting the blockers for the
5003+
// given operation in the cluster.
5004+
message CheckAutopilotCompatibilityRequest {
5005+
// The name (project, location, cluster) of the cluster to retrieve.
5006+
// Specified in the format `projects/*/locations/*/clusters/*`.
5007+
string name = 1;
5008+
}
5009+
5010+
// AutopilotCompatibilityIssue contains information about a specific
5011+
// compatibility issue with Autopilot mode.
5012+
message AutopilotCompatibilityIssue {
5013+
// The type of the reported issue.
5014+
enum IssueType {
5015+
// Default value, should not be used.
5016+
UNSPECIFIED = 0;
5017+
5018+
// Indicates that the issue is a known incompatibility between the
5019+
// cluster and Autopilot mode.
5020+
INCOMPATIBILITY = 1;
5021+
5022+
// Indicates the issue is an incompatibility if customers take no further
5023+
// action to resolve.
5024+
ADDITIONAL_CONFIG_REQUIRED = 2;
5025+
5026+
// Indicates the issue is not an incompatibility, but depending on the
5027+
// workloads business logic, there is a potential that they won't work on
5028+
// Autopilot.
5029+
PASSED_WITH_OPTIONAL_CONFIG = 3;
5030+
}
5031+
5032+
// The last time when this issue was observed.
5033+
google.protobuf.Timestamp last_observation = 1;
5034+
5035+
// The constraint type of the issue.
5036+
string constraint_type = 2;
5037+
5038+
// The incompatibility type of this issue.
5039+
IssueType incompatibility_type = 3;
5040+
5041+
// The name of the resources which are subject to this issue.
5042+
repeated string subjects = 4;
5043+
5044+
// A URL to a public documnetation, which addresses resolving this issue.
5045+
string documentation_url = 5;
5046+
5047+
// The description of the issue.
5048+
string description = 6;
5049+
}
5050+
5051+
// CheckAutopilotCompatibilityResponse has a list of compatibility issues.
5052+
message CheckAutopilotCompatibilityResponse {
5053+
// The list of issues for the given operation.
5054+
repeated AutopilotCompatibilityIssue issues = 1;
5055+
5056+
// The summary of the autopilot compatibility response.
5057+
string summary = 2;
5058+
}
5059+
49565060
// ReleaseChannel indicates which release channel a cluster is
49575061
// subscribed to. Release channels are arranged in order of risk.
49585062
//

0 commit comments

Comments
 (0)