google-cloud-container-v1beta1 0.7.1 → 0.8.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yardopts +1 -1
- data/AUTHENTICATION.md +7 -25
- data/lib/google/cloud/container/v1beta1/cluster_manager/client.rb +686 -103
- data/lib/google/cloud/container/v1beta1/version.rb +1 -1
- data/lib/google/container/v1beta1/cluster_service_pb.rb +151 -2
- data/lib/google/container/v1beta1/cluster_service_services_pb.rb +4 -2
- data/proto_docs/google/api/resource.rb +10 -71
- data/proto_docs/google/container/v1beta1/cluster_service.rb +479 -45
- data/proto_docs/google/type/date.rb +53 -0
- metadata +4 -3
@@ -60,10 +60,10 @@ module Google
|
|
60
60
|
# https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/
|
61
61
|
#
|
62
62
|
# The following values are allowed.
|
63
|
-
#
|
64
|
-
#
|
65
|
-
#
|
66
|
-
#
|
63
|
+
# * "none": the default, which represents the existing scheduling behavior.
|
64
|
+
# * "static": allows pods with certain resource characteristics to be granted
|
65
|
+
# increased CPU affinity and exclusivity on the node.
|
66
|
+
# The default value is 'none' if unspecified.
|
67
67
|
# @!attribute [rw] cpu_cfs_quota
|
68
68
|
# @return [::Google::Protobuf::BoolValue]
|
69
69
|
# Enable CPU CFS quota enforcement for containers that specify CPU limits.
|
@@ -154,9 +154,6 @@ module Google
|
|
154
154
|
# - "install-ssh-psm1"
|
155
155
|
# - "user-profile-psm1"
|
156
156
|
#
|
157
|
-
# The following keys are reserved for Windows nodes:
|
158
|
-
# - "serial-port-logging-enable"
|
159
|
-
#
|
160
157
|
# Values are free-form strings, and only have meaning as interpreted by
|
161
158
|
# the image running in the instance. The only restriction placed on them is
|
162
159
|
# that each value's size must be less than or equal to 32 KB.
|
@@ -260,6 +257,9 @@ module Google
|
|
260
257
|
# @return [::Google::Cloud::Container::V1beta1::EphemeralStorageConfig]
|
261
258
|
# Parameters for the ephemeral storage filesystem.
|
262
259
|
# If unspecified, ephemeral storage is backed by the boot disk.
|
260
|
+
# @!attribute [rw] gvnic
|
261
|
+
# @return [::Google::Cloud::Container::V1beta1::VirtualNIC]
|
262
|
+
# Enable or disable gvnic on the node pool.
|
263
263
|
class NodeConfig
|
264
264
|
include ::Google::Protobuf::MessageExts
|
265
265
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -283,6 +283,53 @@ module Google
|
|
283
283
|
end
|
284
284
|
end
|
285
285
|
|
286
|
+
# Parameters for node pool-level network config.
|
287
|
+
# @!attribute [rw] create_pod_range
|
288
|
+
# @return [::Boolean]
|
289
|
+
# Input only. Whether to create a new range for pod IPs in this node pool.
|
290
|
+
# Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they
|
291
|
+
# are not specified.
|
292
|
+
#
|
293
|
+
# If neither `create_pod_range` or `pod_range` are specified, the
|
294
|
+
# cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is
|
295
|
+
# used.
|
296
|
+
#
|
297
|
+
# Only applicable if `ip_allocation_policy.use_ip_aliases` is true.
|
298
|
+
#
|
299
|
+
# This field cannot be changed after the node pool has been created.
|
300
|
+
# @!attribute [rw] pod_range
|
301
|
+
# @return [::String]
|
302
|
+
# The ID of the secondary range for pod IPs.
|
303
|
+
# If `create_pod_range` is true, this ID is used for the new range.
|
304
|
+
# If `create_pod_range` is false, uses an existing secondary range with this
|
305
|
+
# ID.
|
306
|
+
#
|
307
|
+
# Only applicable if `ip_allocation_policy.use_ip_aliases` is true.
|
308
|
+
#
|
309
|
+
# This field cannot be changed after the node pool has been created.
|
310
|
+
# @!attribute [rw] pod_ipv4_cidr_block
|
311
|
+
# @return [::String]
|
312
|
+
# The IP address range for pod IPs in this node pool.
|
313
|
+
#
|
314
|
+
# Only applicable if `create_pod_range` is true.
|
315
|
+
#
|
316
|
+
# Set to blank to have a range chosen with the default size.
|
317
|
+
#
|
318
|
+
# Set to /netmask (e.g. `/14`) to have a range chosen with a specific
|
319
|
+
# netmask.
|
320
|
+
#
|
321
|
+
# Set to a
|
322
|
+
# [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
|
323
|
+
# notation (e.g. `10.96.0.0/14`) to pick a specific range to use.
|
324
|
+
#
|
325
|
+
# Only applicable if `ip_allocation_policy.use_ip_aliases` is true.
|
326
|
+
#
|
327
|
+
# This field cannot be changed after the node pool has been created.
|
328
|
+
class NodeNetworkConfig
|
329
|
+
include ::Google::Protobuf::MessageExts
|
330
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
331
|
+
end
|
332
|
+
|
286
333
|
# A set of Shielded Instance options.
|
287
334
|
# @!attribute [rw] enable_secure_boot
|
288
335
|
# @return [::Boolean]
|
@@ -407,6 +454,46 @@ module Google
|
|
407
454
|
end
|
408
455
|
end
|
409
456
|
|
457
|
+
# Collection of Kubernetes [node
|
458
|
+
# taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration).
|
459
|
+
# @!attribute [rw] taints
|
460
|
+
# @return [::Array<::Google::Cloud::Container::V1beta1::NodeTaint>]
|
461
|
+
# List of node taints.
|
462
|
+
class NodeTaints
|
463
|
+
include ::Google::Protobuf::MessageExts
|
464
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
465
|
+
end
|
466
|
+
|
467
|
+
# Collection of node-level [Kubernetes
|
468
|
+
# labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels).
|
469
|
+
# @!attribute [rw] labels
|
470
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
471
|
+
# Map of node label keys and node label values.
|
472
|
+
class NodeLabels
|
473
|
+
include ::Google::Protobuf::MessageExts
|
474
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
475
|
+
|
476
|
+
# @!attribute [rw] key
|
477
|
+
# @return [::String]
|
478
|
+
# @!attribute [rw] value
|
479
|
+
# @return [::String]
|
480
|
+
class LabelsEntry
|
481
|
+
include ::Google::Protobuf::MessageExts
|
482
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
483
|
+
end
|
484
|
+
end
|
485
|
+
|
486
|
+
# Collection of Compute Engine network tags that can be applied to a node's
|
487
|
+
# underlying VM instance. (See `tags` field in
|
488
|
+
# [`NodeConfig`](/kubernetes-engine/docs/reference/rest/v1/NodeConfig)).
|
489
|
+
# @!attribute [rw] tags
|
490
|
+
# @return [::Array<::String>]
|
491
|
+
# List of network tags.
|
492
|
+
class NetworkTags
|
493
|
+
include ::Google::Protobuf::MessageExts
|
494
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
495
|
+
end
|
496
|
+
|
410
497
|
# The authentication information for accessing the master endpoint.
|
411
498
|
# Authentication can be done using HTTP basic auth or using client
|
412
499
|
# certificates.
|
@@ -583,8 +670,7 @@ module Google
|
|
583
670
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
584
671
|
end
|
585
672
|
|
586
|
-
# Configuration for the Compute Engine PD CSI driver.
|
587
|
-
# enabled at cluster creation time.
|
673
|
+
# Configuration for the Compute Engine PD CSI driver.
|
588
674
|
# @!attribute [rw] enabled
|
589
675
|
# @return [::Boolean]
|
590
676
|
# Whether the Compute Engine PD CSI driver is enabled for this cluster.
|
@@ -1132,6 +1218,10 @@ module Google
|
|
1132
1218
|
# @return [::Google::Cloud::Container::V1beta1::WorkloadIdentityConfig]
|
1133
1219
|
# Configuration for the use of Kubernetes Service Accounts in GCP IAM
|
1134
1220
|
# policies.
|
1221
|
+
# @!attribute [rw] workload_certificates
|
1222
|
+
# @return [::Google::Cloud::Container::V1beta1::WorkloadCertificates]
|
1223
|
+
# Configuration for issuance of mTLS keys and certificates to Kubernetes
|
1224
|
+
# pods.
|
1135
1225
|
# @!attribute [rw] cluster_telemetry
|
1136
1226
|
# @return [::Google::Cloud::Container::V1beta1::ClusterTelemetry]
|
1137
1227
|
# Telemetry integration for the cluster.
|
@@ -1144,6 +1234,9 @@ module Google
|
|
1144
1234
|
# @!attribute [rw] confidential_nodes
|
1145
1235
|
# @return [::Google::Cloud::Container::V1beta1::ConfidentialNodes]
|
1146
1236
|
# Configuration of Confidential Nodes
|
1237
|
+
# @!attribute [rw] identity_service_config
|
1238
|
+
# @return [::Google::Cloud::Container::V1beta1::IdentityServiceConfig]
|
1239
|
+
# Configuration for Identity Service component.
|
1147
1240
|
# @!attribute [rw] self_link
|
1148
1241
|
# @return [::String]
|
1149
1242
|
# [Output only] Server-defined URL for the resource.
|
@@ -1246,6 +1339,22 @@ module Google
|
|
1246
1339
|
# @!attribute [rw] master
|
1247
1340
|
# @return [::Google::Cloud::Container::V1beta1::Master]
|
1248
1341
|
# Configuration for master components.
|
1342
|
+
# @!attribute [rw] autopilot
|
1343
|
+
# @return [::Google::Cloud::Container::V1beta1::Autopilot]
|
1344
|
+
# Autopilot configuration for the cluster.
|
1345
|
+
# @!attribute [r] id
|
1346
|
+
# @return [::String]
|
1347
|
+
# Output only. Unique id for the cluster.
|
1348
|
+
# @!attribute [rw] node_pool_defaults
|
1349
|
+
# @return [::Google::Cloud::Container::V1beta1::NodePoolDefaults]
|
1350
|
+
# Default NodePool settings for the entire cluster. These settings are
|
1351
|
+
# overridden if specified on the specific NodePool object.
|
1352
|
+
# @!attribute [rw] logging_config
|
1353
|
+
# @return [::Google::Cloud::Container::V1beta1::LoggingConfig]
|
1354
|
+
# Logging configuration for the cluster.
|
1355
|
+
# @!attribute [rw] monitoring_config
|
1356
|
+
# @return [::Google::Cloud::Container::V1beta1::MonitoringConfig]
|
1357
|
+
# Monitoring configuration for the cluster.
|
1249
1358
|
class Cluster
|
1250
1359
|
include ::Google::Protobuf::MessageExts
|
1251
1360
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -1289,6 +1398,21 @@ module Google
|
|
1289
1398
|
end
|
1290
1399
|
end
|
1291
1400
|
|
1401
|
+
# Subset of Nodepool message that has defaults.
|
1402
|
+
# @!attribute [rw] node_config_defaults
|
1403
|
+
# @return [::Google::Cloud::Container::V1beta1::NodeConfigDefaults]
|
1404
|
+
# Subset of NodeConfig message that has defaults.
|
1405
|
+
class NodePoolDefaults
|
1406
|
+
include ::Google::Protobuf::MessageExts
|
1407
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
1408
|
+
end
|
1409
|
+
|
1410
|
+
# Subset of NodeConfig message that has defaults.
|
1411
|
+
class NodeConfigDefaults
|
1412
|
+
include ::Google::Protobuf::MessageExts
|
1413
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
1414
|
+
end
|
1415
|
+
|
1292
1416
|
# ClusterUpdate describes an update to the cluster. Exactly one update can
|
1293
1417
|
# be applied to a cluster with each request, so at most one field can be
|
1294
1418
|
# provided.
|
@@ -1396,9 +1520,15 @@ module Google
|
|
1396
1520
|
# @!attribute [rw] desired_tpu_config
|
1397
1521
|
# @return [::Google::Cloud::Container::V1beta1::TpuConfig]
|
1398
1522
|
# The desired Cloud TPU configuration.
|
1523
|
+
# @!attribute [rw] desired_l4ilb_subsetting_config
|
1524
|
+
# @return [::Google::Cloud::Container::V1beta1::ILBSubsettingConfig]
|
1525
|
+
# The desired L4 Internal Load Balancer Subsetting configuration.
|
1399
1526
|
# @!attribute [rw] desired_datapath_provider
|
1400
1527
|
# @return [::Google::Cloud::Container::V1beta1::DatapathProvider]
|
1401
1528
|
# The desired datapath provider for the cluster.
|
1529
|
+
# @!attribute [rw] desired_private_ipv6_google_access
|
1530
|
+
# @return [::Google::Cloud::Container::V1beta1::PrivateIPv6GoogleAccess]
|
1531
|
+
# The desired state of IPv6 connectivity to Google Services.
|
1402
1532
|
# @!attribute [rw] desired_notification_config
|
1403
1533
|
# @return [::Google::Cloud::Container::V1beta1::NotificationConfig]
|
1404
1534
|
# The desired notification configuration.
|
@@ -1421,16 +1551,36 @@ module Google
|
|
1421
1551
|
# @!attribute [rw] desired_workload_identity_config
|
1422
1552
|
# @return [::Google::Cloud::Container::V1beta1::WorkloadIdentityConfig]
|
1423
1553
|
# Configuration for Workload Identity.
|
1554
|
+
# @!attribute [rw] desired_workload_certificates
|
1555
|
+
# @return [::Google::Cloud::Container::V1beta1::WorkloadCertificates]
|
1556
|
+
# Configuration for issuance of mTLS keys and certificates to Kubernetes
|
1557
|
+
# pods.
|
1424
1558
|
# @!attribute [rw] desired_shielded_nodes
|
1425
1559
|
# @return [::Google::Cloud::Container::V1beta1::ShieldedNodes]
|
1426
1560
|
# Configuration for Shielded Nodes.
|
1427
1561
|
# @!attribute [rw] desired_master
|
1428
1562
|
# @return [::Google::Cloud::Container::V1beta1::Master]
|
1429
1563
|
# Configuration for master components.
|
1564
|
+
# @!attribute [rw] desired_dns_config
|
1565
|
+
# @return [::Google::Cloud::Container::V1beta1::DNSConfig]
|
1566
|
+
# DNSConfig contains clusterDNS config for this cluster.
|
1567
|
+
# @!attribute [rw] desired_service_external_ips_config
|
1568
|
+
# @return [::Google::Cloud::Container::V1beta1::ServiceExternalIPsConfig]
|
1569
|
+
# ServiceExternalIPsConfig specifies the config for the use of Services with
|
1570
|
+
# ExternalIPs field.
|
1430
1571
|
# @!attribute [rw] desired_authenticator_groups_config
|
1431
1572
|
# @return [::Google::Cloud::Container::V1beta1::AuthenticatorGroupsConfig]
|
1432
1573
|
# AuthenticatorGroupsConfig specifies the config for the cluster security
|
1433
1574
|
# groups settings.
|
1575
|
+
# @!attribute [rw] desired_logging_config
|
1576
|
+
# @return [::Google::Cloud::Container::V1beta1::LoggingConfig]
|
1577
|
+
# The desired logging configuration.
|
1578
|
+
# @!attribute [rw] desired_monitoring_config
|
1579
|
+
# @return [::Google::Cloud::Container::V1beta1::MonitoringConfig]
|
1580
|
+
# The desired monitoring configuration.
|
1581
|
+
# @!attribute [rw] desired_identity_service_config
|
1582
|
+
# @return [::Google::Cloud::Container::V1beta1::IdentityServiceConfig]
|
1583
|
+
# The desired Identity Service component configuration.
|
1434
1584
|
class ClusterUpdate
|
1435
1585
|
include ::Google::Protobuf::MessageExts
|
1436
1586
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -1746,12 +1896,30 @@ module Google
|
|
1746
1896
|
# @!attribute [rw] upgrade_settings
|
1747
1897
|
# @return [::Google::Cloud::Container::V1beta1::NodePool::UpgradeSettings]
|
1748
1898
|
# Upgrade settings control disruption and speed of the upgrade.
|
1899
|
+
# @!attribute [rw] tags
|
1900
|
+
# @return [::Google::Cloud::Container::V1beta1::NetworkTags]
|
1901
|
+
# The desired network tags to be applied to all nodes in the node pool.
|
1902
|
+
# If this field is not present, the tags will not be changed. Otherwise,
|
1903
|
+
# the existing network tags will be *replaced* with the provided tags.
|
1904
|
+
# @!attribute [rw] taints
|
1905
|
+
# @return [::Google::Cloud::Container::V1beta1::NodeTaints]
|
1906
|
+
# The desired node taints to be applied to all nodes in the node pool.
|
1907
|
+
# If this field is not present, the taints will not be changed. Otherwise,
|
1908
|
+
# the existing node taints will be *replaced* with the provided taints.
|
1909
|
+
# @!attribute [rw] labels
|
1910
|
+
# @return [::Google::Cloud::Container::V1beta1::NodeLabels]
|
1911
|
+
# The desired node labels to be applied to all nodes in the node pool.
|
1912
|
+
# If this field is not present, the labels will not be changed. Otherwise,
|
1913
|
+
# the existing node labels will be *replaced* with the provided labels.
|
1749
1914
|
# @!attribute [rw] linux_node_config
|
1750
1915
|
# @return [::Google::Cloud::Container::V1beta1::LinuxNodeConfig]
|
1751
1916
|
# Parameters that can be configured on Linux nodes.
|
1752
1917
|
# @!attribute [rw] kubelet_config
|
1753
1918
|
# @return [::Google::Cloud::Container::V1beta1::NodeKubeletConfig]
|
1754
1919
|
# Node kubelet configs.
|
1920
|
+
# @!attribute [rw] gvnic
|
1921
|
+
# @return [::Google::Cloud::Container::V1beta1::VirtualNIC]
|
1922
|
+
# Enable or disable gvnic on the node pool.
|
1755
1923
|
class UpdateNodePoolRequest
|
1756
1924
|
include ::Google::Protobuf::MessageExts
|
1757
1925
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -1884,8 +2052,8 @@ module Google
|
|
1884
2052
|
# This field has been deprecated and replaced by the name field.
|
1885
2053
|
# @!attribute [rw] addons_config
|
1886
2054
|
# @return [::Google::Cloud::Container::V1beta1::AddonsConfig]
|
1887
|
-
# Required. The desired configurations for the various addons available to
|
1888
|
-
# cluster.
|
2055
|
+
# Required. The desired configurations for the various addons available to
|
2056
|
+
# run in the cluster.
|
1889
2057
|
# @!attribute [rw] name
|
1890
2058
|
# @return [::String]
|
1891
2059
|
# The name (project, location, cluster) of the cluster to set addons.
|
@@ -2201,6 +2369,9 @@ module Google
|
|
2201
2369
|
# @!attribute [rw] channels
|
2202
2370
|
# @return [::Array<::Google::Cloud::Container::V1beta1::ServerConfig::ReleaseChannelConfig>]
|
2203
2371
|
# List of release channel configurations.
|
2372
|
+
# @!attribute [rw] windows_version_maps
|
2373
|
+
# @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Container::V1beta1::WindowsVersions}]
|
2374
|
+
# Maps of Kubernetes version and supported Windows server versions.
|
2204
2375
|
class ServerConfig
|
2205
2376
|
include ::Google::Protobuf::MessageExts
|
2206
2377
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -2236,6 +2407,39 @@ module Google
|
|
2236
2407
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
2237
2408
|
end
|
2238
2409
|
end
|
2410
|
+
|
2411
|
+
# @!attribute [rw] key
|
2412
|
+
# @return [::String]
|
2413
|
+
# @!attribute [rw] value
|
2414
|
+
# @return [::Google::Cloud::Container::V1beta1::WindowsVersions]
|
2415
|
+
class WindowsVersionMapsEntry
|
2416
|
+
include ::Google::Protobuf::MessageExts
|
2417
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
2418
|
+
end
|
2419
|
+
end
|
2420
|
+
|
2421
|
+
# Windows server versions.
|
2422
|
+
# @!attribute [rw] windows_versions
|
2423
|
+
# @return [::Array<::Google::Cloud::Container::V1beta1::WindowsVersions::WindowsVersion>]
|
2424
|
+
# List of Windows server versions.
|
2425
|
+
class WindowsVersions
|
2426
|
+
include ::Google::Protobuf::MessageExts
|
2427
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
2428
|
+
|
2429
|
+
# Windows server version.
|
2430
|
+
# @!attribute [rw] image_type
|
2431
|
+
# @return [::String]
|
2432
|
+
# Windows server image type
|
2433
|
+
# @!attribute [rw] os_version
|
2434
|
+
# @return [::String]
|
2435
|
+
# Windows server build number
|
2436
|
+
# @!attribute [rw] support_end_date
|
2437
|
+
# @return [::Google::Type::Date]
|
2438
|
+
# Mainstream support end date
|
2439
|
+
class WindowsVersion
|
2440
|
+
include ::Google::Protobuf::MessageExts
|
2441
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
2442
|
+
end
|
2239
2443
|
end
|
2240
2444
|
|
2241
2445
|
# CreateNodePoolRequest creates a node pool for a cluster.
|
@@ -2358,6 +2562,29 @@ module Google
|
|
2358
2562
|
# of Kubernetes labels applied to them, which may be used to reference them
|
2359
2563
|
# during pod scheduling. They may also be resized up or down, to accommodate
|
2360
2564
|
# the workload.
|
2565
|
+
# These upgrade settings control the level of parallelism and the level of
|
2566
|
+
# disruption caused by an upgrade.
|
2567
|
+
#
|
2568
|
+
# maxUnavailable controls the number of nodes that can be simultaneously
|
2569
|
+
# unavailable.
|
2570
|
+
#
|
2571
|
+
# maxSurge controls the number of additional nodes that can be added to the
|
2572
|
+
# node pool temporarily for the time of the upgrade to increase the number of
|
2573
|
+
# available nodes.
|
2574
|
+
#
|
2575
|
+
# (maxUnavailable + maxSurge) determines the level of parallelism (how many
|
2576
|
+
# nodes are being upgraded at the same time).
|
2577
|
+
#
|
2578
|
+
# Note: upgrades inevitably introduce some disruption since workloads need to
|
2579
|
+
# be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
|
2580
|
+
# this holds true. (Disruption stays within the limits of
|
2581
|
+
# PodDisruptionBudget, if it is configured.)
|
2582
|
+
#
|
2583
|
+
# Consider a hypothetical node pool with 5 nodes having maxSurge=2,
|
2584
|
+
# maxUnavailable=1. This means the upgrade process upgrades 3 nodes
|
2585
|
+
# simultaneously. It creates 2 additional (upgraded) nodes, then it brings
|
2586
|
+
# down 3 old (not yet upgraded) nodes at the same time. This ensures that
|
2587
|
+
# there are always at least 4 nodes available.
|
2361
2588
|
# @!attribute [rw] name
|
2362
2589
|
# @return [::String]
|
2363
2590
|
# The name of the node pool.
|
@@ -2382,6 +2609,10 @@ module Google
|
|
2382
2609
|
#
|
2383
2610
|
# Warning: changing node pool locations will result in nodes being added
|
2384
2611
|
# and/or removed.
|
2612
|
+
# @!attribute [rw] network_config
|
2613
|
+
# @return [::Google::Cloud::Container::V1beta1::NodeNetworkConfig]
|
2614
|
+
# Networking configuration for this NodePool. If specified, it overrides the
|
2615
|
+
# cluster-level defaults.
|
2385
2616
|
# @!attribute [rw] self_link
|
2386
2617
|
# @return [::String]
|
2387
2618
|
# [Output only] Server-defined URL for the resource.
|
@@ -2425,29 +2656,6 @@ module Google
|
|
2425
2656
|
include ::Google::Protobuf::MessageExts
|
2426
2657
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
2427
2658
|
|
2428
|
-
# These upgrade settings control the level of parallelism and the level of
|
2429
|
-
# disruption caused by an upgrade.
|
2430
|
-
#
|
2431
|
-
# maxUnavailable controls the number of nodes that can be simultaneously
|
2432
|
-
# unavailable.
|
2433
|
-
#
|
2434
|
-
# maxSurge controls the number of additional nodes that can be added to the
|
2435
|
-
# node pool temporarily for the time of the upgrade to increase the number of
|
2436
|
-
# available nodes.
|
2437
|
-
#
|
2438
|
-
# (maxUnavailable + maxSurge) determines the level of parallelism (how many
|
2439
|
-
# nodes are being upgraded at the same time).
|
2440
|
-
#
|
2441
|
-
# Note: upgrades inevitably introduce some disruption since workloads need to
|
2442
|
-
# be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
|
2443
|
-
# this holds true. (Disruption stays within the limits of
|
2444
|
-
# PodDisruptionBudget, if it is configured.)
|
2445
|
-
#
|
2446
|
-
# Consider a hypothetical node pool with 5 nodes having maxSurge=2,
|
2447
|
-
# maxUnavailable=1. This means the upgrade process upgrades 3 nodes
|
2448
|
-
# simultaneously. It creates 2 additional (upgraded) nodes, then it brings
|
2449
|
-
# down 3 old (not yet upgraded) nodes at the same time. This ensures that
|
2450
|
-
# there are always at least 4 nodes available.
|
2451
2659
|
# @!attribute [rw] max_surge
|
2452
2660
|
# @return [::Integer]
|
2453
2661
|
# The maximum number of nodes that can be created beyond the current size
|
@@ -2673,8 +2881,7 @@ module Google
|
|
2673
2881
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
2674
2882
|
end
|
2675
2883
|
|
2676
|
-
# SetNodePoolSizeRequest sets the size a node
|
2677
|
-
# pool.
|
2884
|
+
# SetNodePoolSizeRequest sets the size of a node pool.
|
2678
2885
|
# @!attribute [rw] project_id
|
2679
2886
|
# @return [::String]
|
2680
2887
|
# Required. Deprecated. The Google Developers Console [project ID or project
|
@@ -2854,7 +3061,7 @@ module Google
|
|
2854
3061
|
# https://cloud.google.com/compute/docs/disks/customer-managed-encryption
|
2855
3062
|
# @!attribute [rw] image_type
|
2856
3063
|
# @return [::String]
|
2857
|
-
# The image type to use for
|
3064
|
+
# The image type to use for NAP created node.
|
2858
3065
|
class AutoprovisioningNodePoolDefaults
|
2859
3066
|
include ::Google::Protobuf::MessageExts
|
2860
3067
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -2888,7 +3095,7 @@ module Google
|
|
2888
3095
|
# @!attribute [rw] max_node_count
|
2889
3096
|
# @return [::Integer]
|
2890
3097
|
# Maximum number of nodes in the NodePool. Must be >= min_node_count. There
|
2891
|
-
# has to enough quota to scale up the cluster.
|
3098
|
+
# has to be enough quota to scale up the cluster.
|
2892
3099
|
# @!attribute [rw] autoprovisioned
|
2893
3100
|
# @return [::Boolean]
|
2894
3101
|
# Can this node pool be deleted automatically.
|
@@ -3035,6 +3242,11 @@ module Google
|
|
3035
3242
|
# @return [::String]
|
3036
3243
|
# The accelerator type resource name. List of supported accelerators
|
3037
3244
|
# [here](https://cloud.google.com/compute/docs/gpus)
|
3245
|
+
# @!attribute [rw] gpu_partition_size
|
3246
|
+
# @return [::String]
|
3247
|
+
# Size of partitions to create on the GPU. Valid values are described in the
|
3248
|
+
# NVIDIA [mig user
|
3249
|
+
# guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
|
3038
3250
|
class AcceleratorConfig
|
3039
3251
|
include ::Google::Protobuf::MessageExts
|
3040
3252
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -3247,8 +3459,11 @@ module Google
|
|
3247
3459
|
|
3248
3460
|
# Unable to perform an encrypt operation against the CloudKMS key used for
|
3249
3461
|
# etcd level encryption.
|
3250
|
-
# More codes TBA
|
3251
3462
|
CLOUD_KMS_KEY_ERROR = 7
|
3463
|
+
|
3464
|
+
# Cluster CA is expiring soon.
|
3465
|
+
# More codes TBA
|
3466
|
+
CA_EXPIRING = 9
|
3252
3467
|
end
|
3253
3468
|
end
|
3254
3469
|
|
@@ -3275,15 +3490,39 @@ module Google
|
|
3275
3490
|
# will be disabled when default_snat_status is disabled. When disabled is set
|
3276
3491
|
# to false, default IP masquerade rules will be applied to the nodes to
|
3277
3492
|
# prevent sNAT on cluster internal traffic.
|
3493
|
+
# @!attribute [rw] enable_l4ilb_subsetting
|
3494
|
+
# @return [::Boolean]
|
3495
|
+
# Whether L4ILB Subsetting is enabled for this cluster.
|
3278
3496
|
# @!attribute [rw] datapath_provider
|
3279
3497
|
# @return [::Google::Cloud::Container::V1beta1::DatapathProvider]
|
3280
3498
|
# The desired datapath provider for this cluster. By default, uses the
|
3281
3499
|
# IPTables-based kube-proxy implementation.
|
3500
|
+
# @!attribute [rw] private_ipv6_google_access
|
3501
|
+
# @return [::Google::Cloud::Container::V1beta1::PrivateIPv6GoogleAccess]
|
3502
|
+
# The desired state of IPv6 connectivity to Google Services.
|
3503
|
+
# By default, no private IPv6 access to or from Google Services (all access
|
3504
|
+
# will be via IPv4)
|
3505
|
+
# @!attribute [rw] dns_config
|
3506
|
+
# @return [::Google::Cloud::Container::V1beta1::DNSConfig]
|
3507
|
+
# DNSConfig contains clusterDNS config for this cluster.
|
3508
|
+
# @!attribute [rw] service_external_ips_config
|
3509
|
+
# @return [::Google::Cloud::Container::V1beta1::ServiceExternalIPsConfig]
|
3510
|
+
# ServiceExternalIPsConfig specifies if services with externalIPs field are
|
3511
|
+
# blocked or not.
|
3282
3512
|
class NetworkConfig
|
3283
3513
|
include ::Google::Protobuf::MessageExts
|
3284
3514
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
3285
3515
|
end
|
3286
3516
|
|
3517
|
+
# Config to block services with externalIPs field.
|
3518
|
+
# @!attribute [rw] enabled
|
3519
|
+
# @return [::Boolean]
|
3520
|
+
# Whether Services with ExternalIPs field are allowed or not.
|
3521
|
+
class ServiceExternalIPsConfig
|
3522
|
+
include ::Google::Protobuf::MessageExts
|
3523
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
3524
|
+
end
|
3525
|
+
|
3287
3526
|
# ListUsableSubnetworksRequest requests the list of usable subnetworks.
|
3288
3527
|
# available to a user for creating clusters.
|
3289
3528
|
# @!attribute [rw] parent
|
@@ -3423,6 +3662,55 @@ module Google
|
|
3423
3662
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
3424
3663
|
end
|
3425
3664
|
|
3665
|
+
# ILBSubsettingConfig contains the desired config of L4 Internal LoadBalancer
|
3666
|
+
# subsetting on this cluster.
|
3667
|
+
# @!attribute [rw] enabled
|
3668
|
+
# @return [::Boolean]
|
3669
|
+
# Enables l4 ILB subsetting for this cluster
|
3670
|
+
class ILBSubsettingConfig
|
3671
|
+
include ::Google::Protobuf::MessageExts
|
3672
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
3673
|
+
end
|
3674
|
+
|
3675
|
+
# DNSConfig contains the desired set of options for configuring clusterDNS.
|
3676
|
+
# @!attribute [rw] cluster_dns
|
3677
|
+
# @return [::Google::Cloud::Container::V1beta1::DNSConfig::Provider]
|
3678
|
+
# cluster_dns indicates which in-cluster DNS provider should be used.
|
3679
|
+
# @!attribute [rw] cluster_dns_scope
|
3680
|
+
# @return [::Google::Cloud::Container::V1beta1::DNSConfig::DNSScope]
|
3681
|
+
# cluster_dns_scope indicates the scope of access to cluster DNS records.
|
3682
|
+
# @!attribute [rw] cluster_dns_domain
|
3683
|
+
# @return [::String]
|
3684
|
+
# cluster_dns_domain is the suffix used for all cluster service records.
|
3685
|
+
class DNSConfig
|
3686
|
+
include ::Google::Protobuf::MessageExts
|
3687
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
3688
|
+
|
3689
|
+
# Provider lists the various in-cluster DNS providers.
|
3690
|
+
module Provider
|
3691
|
+
# Default value
|
3692
|
+
PROVIDER_UNSPECIFIED = 0
|
3693
|
+
|
3694
|
+
# Use GKE default DNS provider(kube-dns) for DNS resolution.
|
3695
|
+
PLATFORM_DEFAULT = 1
|
3696
|
+
|
3697
|
+
# Use CloudDNS for DNS resolution.
|
3698
|
+
CLOUD_DNS = 2
|
3699
|
+
end
|
3700
|
+
|
3701
|
+
# DNSScope lists the various scopes of access to cluster DNS records.
|
3702
|
+
module DNSScope
|
3703
|
+
# Default value, will be inferred as cluster scope.
|
3704
|
+
DNS_SCOPE_UNSPECIFIED = 0
|
3705
|
+
|
3706
|
+
# DNS records are accessible from within the cluster.
|
3707
|
+
CLUSTER_SCOPE = 1
|
3708
|
+
|
3709
|
+
# DNS records are accessible from within the VPC.
|
3710
|
+
VPC_SCOPE = 2
|
3711
|
+
end
|
3712
|
+
end
|
3713
|
+
|
3426
3714
|
# Constraints applied to pods.
|
3427
3715
|
# @!attribute [rw] max_pods_per_node
|
3428
3716
|
# @return [::Integer]
|
@@ -3448,6 +3736,23 @@ module Google
|
|
3448
3736
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
3449
3737
|
end
|
3450
3738
|
|
3739
|
+
# Configuration for issuance of mTLS keys and certificates to Kubernetes pods.
|
3740
|
+
# @!attribute [rw] enable_certificates
|
3741
|
+
# @return [::Google::Protobuf::BoolValue]
|
3742
|
+
# enable_certificates controls issuance of workload mTLS certificates.
|
3743
|
+
#
|
3744
|
+
# If set, the GKE Workload Identity Certificates controller and node agent
|
3745
|
+
# will be deployed in the cluster, which can then be configured by creating a
|
3746
|
+
# WorkloadCertificateConfig Custom Resource.
|
3747
|
+
#
|
3748
|
+
# Requires Workload Identity
|
3749
|
+
# ({::Google::Cloud::Container::V1beta1::WorkloadIdentityConfig#workload_pool workload_pool}
|
3750
|
+
# must be non-empty).
|
3751
|
+
class WorkloadCertificates
|
3752
|
+
include ::Google::Protobuf::MessageExts
|
3753
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
3754
|
+
end
|
3755
|
+
|
3451
3756
|
# Configuration of etcd encryption.
|
3452
3757
|
# @!attribute [rw] state
|
3453
3758
|
# @return [::Google::Cloud::Container::V1beta1::DatabaseEncryption::State]
|
@@ -3519,6 +3824,15 @@ module Google
|
|
3519
3824
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
3520
3825
|
end
|
3521
3826
|
|
3827
|
+
# Configuration of gVNIC feature.
|
3828
|
+
# @!attribute [rw] enabled
|
3829
|
+
# @return [::Boolean]
|
3830
|
+
# Whether gVNIC features are enabled in the node pool.
|
3831
|
+
class VirtualNIC
|
3832
|
+
include ::Google::Protobuf::MessageExts
|
3833
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
3834
|
+
end
|
3835
|
+
|
3522
3836
|
# GetOpenIDConfigRequest gets the OIDC discovery document for the
|
3523
3837
|
# cluster. See the OpenID Connect Discovery 1.0 specification for details.
|
3524
3838
|
# @!attribute [rw] parent
|
@@ -3672,6 +3986,15 @@ module Google
|
|
3672
3986
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
3673
3987
|
end
|
3674
3988
|
|
3989
|
+
# Autopilot is the configuration for Autopilot settings on the cluster.
|
3990
|
+
# @!attribute [rw] enabled
|
3991
|
+
# @return [::Boolean]
|
3992
|
+
# Enable Autopilot
|
3993
|
+
class Autopilot
|
3994
|
+
include ::Google::Protobuf::MessageExts
|
3995
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
3996
|
+
end
|
3997
|
+
|
3675
3998
|
# NotificationConfig is the configuration of notifications.
|
3676
3999
|
# @!attribute [rw] pubsub
|
3677
4000
|
# @return [::Google::Cloud::Container::V1beta1::NotificationConfig::PubSub]
|
@@ -3709,28 +4032,139 @@ module Google
|
|
3709
4032
|
# a resource is upgrading.
|
3710
4033
|
# @!attribute [rw] resource_type
|
3711
4034
|
# @return [::Google::Cloud::Container::V1beta1::UpgradeResourceType]
|
3712
|
-
#
|
4035
|
+
# The resource type that is upgrading.
|
3713
4036
|
# @!attribute [rw] operation
|
3714
4037
|
# @return [::String]
|
3715
|
-
#
|
4038
|
+
# The operation associated with this upgrade.
|
3716
4039
|
# @!attribute [rw] operation_start_time
|
3717
4040
|
# @return [::Google::Protobuf::Timestamp]
|
3718
|
-
#
|
4041
|
+
# The time when the operation was started.
|
3719
4042
|
# @!attribute [rw] current_version
|
3720
4043
|
# @return [::String]
|
3721
|
-
#
|
4044
|
+
# The current version before the upgrade.
|
3722
4045
|
# @!attribute [rw] target_version
|
3723
4046
|
# @return [::String]
|
3724
|
-
#
|
4047
|
+
# The target version for the upgrade.
|
3725
4048
|
# @!attribute [rw] resource
|
3726
4049
|
# @return [::String]
|
3727
|
-
# Optional
|
4050
|
+
# Optional relative path to the resource. For example in node pool upgrades,
|
3728
4051
|
# the relative path of the node pool.
|
3729
4052
|
class UpgradeEvent
|
3730
4053
|
include ::Google::Protobuf::MessageExts
|
3731
4054
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
3732
4055
|
end
|
3733
4056
|
|
4057
|
+
# UpgradeAvailableEvent is a notification sent to customers when a new
|
4058
|
+
# available version is released.
|
4059
|
+
# @!attribute [rw] version
|
4060
|
+
# @return [::String]
|
4061
|
+
# The release version available for upgrade.
|
4062
|
+
# @!attribute [rw] resource_type
|
4063
|
+
# @return [::Google::Cloud::Container::V1beta1::UpgradeResourceType]
|
4064
|
+
# The resource type of the release version.
|
4065
|
+
# @!attribute [rw] release_channel
|
4066
|
+
# @return [::Google::Cloud::Container::V1beta1::ReleaseChannel]
|
4067
|
+
# The release channel of the version. If empty, it means a non-channel
|
4068
|
+
# release.
|
4069
|
+
# @!attribute [rw] resource
|
4070
|
+
# @return [::String]
|
4071
|
+
# Optional relative path to the resource. For example, the relative path of
|
4072
|
+
# the node pool.
|
4073
|
+
# @!attribute [rw] windows_versions
|
4074
|
+
# @return [::Google::Cloud::Container::V1beta1::WindowsVersions]
|
4075
|
+
# Windows node versions info.
|
4076
|
+
class UpgradeAvailableEvent
|
4077
|
+
include ::Google::Protobuf::MessageExts
|
4078
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
4079
|
+
end
|
4080
|
+
|
4081
|
+
# IdentityServiceConfig is configuration for Identity Service which allows
|
4082
|
+
# customers to use external identity providers with the K8S API
|
4083
|
+
# @!attribute [rw] enabled
|
4084
|
+
# @return [::Boolean]
|
4085
|
+
# Whether to enable the Identity Service component
|
4086
|
+
class IdentityServiceConfig
|
4087
|
+
include ::Google::Protobuf::MessageExts
|
4088
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
4089
|
+
end
|
4090
|
+
|
4091
|
+
# LoggingConfig is cluster logging configuration.
|
4092
|
+
# @!attribute [rw] component_config
|
4093
|
+
# @return [::Google::Cloud::Container::V1beta1::LoggingComponentConfig]
|
4094
|
+
# Logging components configuration
|
4095
|
+
class LoggingConfig
|
4096
|
+
include ::Google::Protobuf::MessageExts
|
4097
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
4098
|
+
end
|
4099
|
+
|
4100
|
+
# LoggingComponentConfig is cluster logging component configuration.
|
4101
|
+
# @!attribute [rw] enable_components
|
4102
|
+
# @return [::Array<::Google::Cloud::Container::V1beta1::LoggingComponentConfig::Component>]
|
4103
|
+
# Select components to collect logs. An empty set would disable all logging.
|
4104
|
+
class LoggingComponentConfig
|
4105
|
+
include ::Google::Protobuf::MessageExts
|
4106
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
4107
|
+
|
4108
|
+
# GKE components exposing logs
|
4109
|
+
module Component
|
4110
|
+
# Default value. This shouldn't be used.
|
4111
|
+
COMPONENT_UNSPECIFIED = 0
|
4112
|
+
|
4113
|
+
# system components
|
4114
|
+
SYSTEM_COMPONENTS = 1
|
4115
|
+
|
4116
|
+
# workloads
|
4117
|
+
WORKLOADS = 2
|
4118
|
+
end
|
4119
|
+
end
|
4120
|
+
|
4121
|
+
# MonitoringConfig is cluster monitoring configuration.
|
4122
|
+
# @!attribute [rw] component_config
|
4123
|
+
# @return [::Google::Cloud::Container::V1beta1::MonitoringComponentConfig]
|
4124
|
+
# Monitoring components configuration
|
4125
|
+
class MonitoringConfig
|
4126
|
+
include ::Google::Protobuf::MessageExts
|
4127
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
4128
|
+
end
|
4129
|
+
|
4130
|
+
# MonitoringComponentConfig is cluster monitoring component configuration.
|
4131
|
+
# @!attribute [rw] enable_components
|
4132
|
+
# @return [::Array<::Google::Cloud::Container::V1beta1::MonitoringComponentConfig::Component>]
|
4133
|
+
# Select components to collect metrics. An empty set would disable all
|
4134
|
+
# monitoring.
|
4135
|
+
class MonitoringComponentConfig
|
4136
|
+
include ::Google::Protobuf::MessageExts
|
4137
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
4138
|
+
|
4139
|
+
# GKE components exposing metrics
|
4140
|
+
module Component
|
4141
|
+
# Default value. This shouldn't be used.
|
4142
|
+
COMPONENT_UNSPECIFIED = 0
|
4143
|
+
|
4144
|
+
# system components
|
4145
|
+
SYSTEM_COMPONENTS = 1
|
4146
|
+
|
4147
|
+
# workloads
|
4148
|
+
WORKLOADS = 2
|
4149
|
+
end
|
4150
|
+
end
|
4151
|
+
|
4152
|
+
# PrivateIPv6GoogleAccess controls whether and how the pods can communicate
|
4153
|
+
# with Google Services through gRPC over IPv6.
|
4154
|
+
module PrivateIPv6GoogleAccess
|
4155
|
+
# Default value. Same as DISABLED
|
4156
|
+
PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED = 0
|
4157
|
+
|
4158
|
+
# No private access to or from Google Services
|
4159
|
+
PRIVATE_IPV6_GOOGLE_ACCESS_DISABLED = 1
|
4160
|
+
|
4161
|
+
# Enables private IPv6 access to Google Services from GKE
|
4162
|
+
PRIVATE_IPV6_GOOGLE_ACCESS_TO_GOOGLE = 2
|
4163
|
+
|
4164
|
+
# Enables priate IPv6 access to and from Google Services
|
4165
|
+
PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL = 3
|
4166
|
+
end
|
4167
|
+
|
3734
4168
|
# The datapath provider selects the implementation of the Kubernetes networking
|
3735
4169
|
# // model for service resolution and network policy enforcement.
|
3736
4170
|
module DatapathProvider
|