services/google/container/beta/cluster.yaml (1,864 lines of code) (raw):
# Copyright 2025 Google LLC. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
info:
title: Container/Cluster
description: The Container Cluster resource
x-dcl-struct-name: Cluster
x-dcl-has-iam: false
paths:
get:
description: The function used to get information about a Cluster
parameters:
- name: cluster
required: true
description: A full instance of a Cluster
apply:
description: The function used to apply information about a Cluster
parameters:
- name: cluster
required: true
description: A full instance of a Cluster
delete:
description: The function used to delete a Cluster
parameters:
- name: cluster
required: true
description: A full instance of a Cluster
deleteAll:
description: The function used to delete all Cluster
parameters:
- name: project
required: true
schema:
type: string
- name: location
required: true
schema:
type: string
list:
description: The function used to list information about many Cluster
parameters:
- name: project
required: true
schema:
type: string
- name: location
required: true
schema:
type: string
components:
schemas:
Cluster:
title: Cluster
x-dcl-id: projects/{{project}}/locations/{{location}}/clusters/{{name}}
x-dcl-uses-state-hint: true
x-dcl-parent-container: project
x-dcl-labels: labelFingerprint
x-dcl-has-create: true
x-dcl-has-iam: false
x-dcl-read-timeout: 0
x-dcl-apply-timeout: 4800
x-dcl-delete-timeout: 4800
type: object
required:
- name
- location
- project
properties:
addonsConfig:
type: object
x-dcl-go-name: AddonsConfig
x-dcl-go-type: ClusterAddonsConfig
description: Configurations for the various addons available to run in the
cluster.
properties:
cloudRunConfig:
type: object
x-dcl-go-name: CloudRunConfig
x-dcl-go-type: ClusterAddonsConfigCloudRunConfig
description: Configuration for Cloud Run.
properties:
disabled:
type: boolean
x-dcl-go-name: Disabled
description: Whether CloudRun is enabled for this cluster.
x-dcl-send-empty: true
loadBalancerType:
type: string
x-dcl-go-name: LoadBalancerType
x-dcl-go-type: ClusterAddonsConfigCloudRunConfigLoadBalancerTypeEnum
description: 'Which load balancer type is installed for Cloud Run.
Possible values: LOAD_BALANCER_TYPE_UNSPECIFIED, LOAD_BALANCER_TYPE_EXTERNAL,
LOAD_BALANCER_TYPE_INTERNAL'
enum:
- LOAD_BALANCER_TYPE_UNSPECIFIED
- LOAD_BALANCER_TYPE_EXTERNAL
- LOAD_BALANCER_TYPE_INTERNAL
configConnectorConfig:
type: object
x-dcl-go-name: ConfigConnectorConfig
x-dcl-go-type: ClusterAddonsConfigConfigConnectorConfig
description: Configuration for the ConfigConnector add-on, a Kubernetes
extension to manage hosted GCP services through the Kubernetes API
properties:
enabled:
type: boolean
x-dcl-go-name: Enabled
description: Whether Cloud Connector is enabled for this cluster.
dnsCacheConfig:
type: object
x-dcl-go-name: DnsCacheConfig
x-dcl-go-type: ClusterAddonsConfigDnsCacheConfig
description: Configuration for NodeLocalDNS, a dns cache running on
cluster nodes
properties:
enabled:
type: boolean
x-dcl-go-name: Enabled
description: Whether NodeLocal DNSCache is enabled for this cluster.
gcePersistentDiskCsiDriverConfig:
type: object
x-dcl-go-name: GcePersistentDiskCsiDriverConfig
x-dcl-go-type: ClusterAddonsConfigGcePersistentDiskCsiDriverConfig
description: Configuration for the Compute Engine Persistent Disk CSI
driver.
properties:
enabled:
type: boolean
x-dcl-go-name: Enabled
description: Whether the Compute Engine PD CSI driver is enabled
for this cluster.
horizontalPodAutoscaling:
type: object
x-dcl-go-name: HorizontalPodAutoscaling
x-dcl-go-type: ClusterAddonsConfigHorizontalPodAutoscaling
description: Configuration for the horizontal pod autoscaling feature,
which increases or decreases the number of replica pods a replication
controller has based on the resource usage of the existing pods.
properties:
disabled:
type: boolean
x-dcl-go-name: Disabled
description: Whether the Horizontal Pod Autoscaling feature is enabled
in the cluster. When enabled, it ensures that a Heapster pod is
running in the cluster, which is also used by the Cloud Monitoring
service.
x-dcl-send-empty: true
httpLoadBalancing:
type: object
x-dcl-go-name: HttpLoadBalancing
x-dcl-go-type: ClusterAddonsConfigHttpLoadBalancing
description: Configuration for the HTTP (L7) load balancing controller
addon, which makes it easy to set up HTTP load balancers for services
in a cluster.
properties:
disabled:
type: boolean
x-dcl-go-name: Disabled
description: Whether the HTTP Load Balancing controller is enabled
in the cluster. When enabled, it runs a small pod in the cluster
that manages the load balancers.
x-dcl-send-empty: true
istioConfig:
type: object
x-dcl-go-name: IstioConfig
x-dcl-go-type: ClusterAddonsConfigIstioConfig
description: Configuration for Istio, an open platform to connect, manage,
and secure microservices.
properties:
auth:
type: string
x-dcl-go-name: Auth
x-dcl-go-type: ClusterAddonsConfigIstioConfigAuthEnum
description: 'The specified Istio auth mode, either none, or mutual
TLS. Possible values: AUTH_NONE, AUTH_MUTUAL_TLS'
enum:
- AUTH_NONE
- AUTH_MUTUAL_TLS
disabled:
type: boolean
x-dcl-go-name: Disabled
description: Whether Istio is enabled for this cluster.
kalmConfig:
type: object
x-dcl-go-name: KalmConfig
x-dcl-go-type: ClusterAddonsConfigKalmConfig
description: Configuration for the KALM addon, which manages the lifecycle
of k8s applications.
properties:
enabled:
type: boolean
x-dcl-go-name: Enabled
description: Whether KALM is enabled for this cluster.
networkPolicyConfig:
type: object
x-dcl-go-name: NetworkPolicyConfig
x-dcl-go-type: ClusterAddonsConfigNetworkPolicyConfig
description: Configuration for NetworkPolicy. This only tracks whether
the addon is enabled or not on the Master, it does not track whether
network policy is enabled for the nodes.
properties:
disabled:
type: boolean
x-dcl-go-name: Disabled
description: Whether NetworkPolicy is enabled for this cluster.
x-dcl-send-empty: true
authenticatorGroupsConfig:
type: object
x-dcl-go-name: AuthenticatorGroupsConfig
x-dcl-go-type: ClusterAuthenticatorGroupsConfig
description: Configuration for returning group information from authenticators.
x-kubernetes-immutable: true
properties:
enabled:
type: boolean
x-dcl-go-name: Enabled
description: Whether this cluster should return group membership lookups
during authentication using a group of security groups.
x-kubernetes-immutable: true
securityGroup:
type: string
x-dcl-go-name: SecurityGroup
description: The name of the security group-of-groups to be used
x-kubernetes-immutable: true
autopilot:
type: object
x-dcl-go-name: Autopilot
x-dcl-go-type: ClusterAutopilot
description: Configuration for autopilot setting on the cluster.
x-kubernetes-immutable: true
properties:
enabled:
type: boolean
x-dcl-go-name: Enabled
description: Whether the autopilot setting is enabled in the cluster.
x-kubernetes-immutable: true
autoscaling:
type: object
x-dcl-go-name: Autoscaling
x-dcl-go-type: ClusterAutoscaling
description: Cluster-level autoscaling configuration.
properties:
autoprovisioningLocations:
type: array
x-dcl-go-name: AutoprovisioningLocations
description: The list of Google Compute Engine (https://cloud.google.com/compute/docs/zones#available)
in which the NodePool's nodes can be created by NAP.
x-kubernetes-immutable: true
x-dcl-send-empty: true
x-dcl-list-type: list
items:
type: string
x-dcl-go-type: string
autoprovisioningNodePoolDefaults:
type: object
x-dcl-go-name: AutoprovisioningNodePoolDefaults
x-dcl-go-type: ClusterAutoscalingAutoprovisioningNodePoolDefaults
properties:
bootDiskKmsKey:
type: string
x-dcl-go-name: BootDiskKmsKey
description: 'The Customer Managed Encryption Key used to encrypt
the boot disk attached to each node in the node pool. This should
be of the form projects/. For more information about protecting
resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption'
x-kubernetes-immutable: true
diskSizeGb:
type: integer
format: int64
x-dcl-go-name: DiskSizeGb
description: Size of the disk attached to each node, specified in
GB. The smallest allowed disk size is 10GB. If unspecified, the
default disk size is 100GB.
x-kubernetes-immutable: true
diskType:
type: string
x-dcl-go-name: DiskType
description: Type of the disk attached to each node (e.g. 'pd-standard',
'pd-ssd' or 'pd-balanced') If unspecified, the default disk type
is 'pd-standard'
x-kubernetes-immutable: true
management:
type: object
x-dcl-go-name: Management
x-dcl-go-type: ClusterAutoscalingAutoprovisioningNodePoolDefaultsManagement
description: Specifies the node management options for NAP created
node-pools.
properties:
autoRepair:
type: boolean
x-dcl-go-name: AutoRepair
description: A flag that specifies whether the node auto-repair
is enabled for the node pool
autoUpgrade:
type: boolean
x-dcl-go-name: AutoUpgrade
description: A flag that specifies whether node auto-upgrade
is enabled for the node pool
upgradeOptions:
type: object
x-dcl-go-name: UpgradeOptions
x-dcl-go-type: ClusterAutoscalingAutoprovisioningNodePoolDefaultsManagementUpgradeOptions
description: Specifies the Auto Upgrade knobs for the node pool.
x-kubernetes-immutable: true
properties:
autoUpgradeStartTime:
type: string
x-dcl-go-name: AutoUpgradeStartTime
description: (https://www.ietf.org/rfc/rfc3339.txt) text
format.
x-kubernetes-immutable: true
description:
type: string
x-dcl-go-name: Description
description: This field is set when upgrades are about to
commence with the description of the upgrade.
x-kubernetes-immutable: true
minCpuPlatform:
type: string
x-dcl-go-name: MinCpuPlatform
description: 'Minimum CPU platform to be used for NAP created node
pools. The instance may be scheduled on the specified or newer
CPU platform. Applicable values are the friendly names of CPU
platforms, such as minCpuPlatform: Intel Haswell or minCpuPlatform:
Intel Sandy Bridge. For more information, read (https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
To unset the min cpu platform field pass "automatic" as field
value.'
x-kubernetes-immutable: true
oauthScopes:
type: array
x-dcl-go-name: OAuthScopes
description: Scopes that are used by NAP when creating node pools.
x-dcl-send-empty: true
x-dcl-list-type: list
items:
type: string
x-dcl-go-type: string
serviceAccount:
type: string
x-dcl-go-name: ServiceAccount
description: The Google Cloud Platform Service Account to be used
by the node VMs.
shieldedInstanceConfig:
type: object
x-dcl-go-name: ShieldedInstanceConfig
x-dcl-go-type: ClusterAutoscalingAutoprovisioningNodePoolDefaultsShieldedInstanceConfig
description: Shielded Instance options.
x-kubernetes-immutable: true
properties:
enableIntegrityMonitoring:
type: boolean
x-dcl-go-name: EnableIntegrityMonitoring
description: Defines whether the instance has integrity monitoring
enabled. Enables monitoring and attestation of the boot integrity
of the instance. The attestation is performed against the
integrity policy baseline. This baseline is initially derived
from the implicitly trusted boot image when the instance is
created.
x-kubernetes-immutable: true
enableSecureBoot:
type: boolean
x-dcl-go-name: EnableSecureBoot
description: Defines whether the instance has Secure Boot enabled.
Secure Boot helps ensure that the system only runs authentic
software by verifying the digital signature of all boot components,
and halting the boot process if signature verification fails.
x-kubernetes-immutable: true
upgradeSettings:
type: object
x-dcl-go-name: UpgradeSettings
x-dcl-go-type: ClusterAutoscalingAutoprovisioningNodePoolDefaultsUpgradeSettings
description: Specifies the upgrade settings for NAP created node
pools
properties:
maxSurge:
type: integer
format: int64
x-dcl-go-name: MaxSurge
description: The maximum number of nodes that can be created
beyond the current size of the node pool during the upgrade
process.
maxUnavailable:
type: integer
format: int64
x-dcl-go-name: MaxUnavailable
description: The maximum number of nodes that can be simultaneously
unavailable during the upgrade process. A node is considered
available if its status is Ready.
autoscalingProfile:
type: string
x-dcl-go-name: AutoscalingProfile
x-dcl-go-type: ClusterAutoscalingAutoscalingProfileEnum
description: 'Defines autoscaling behaviour. Possible values: PROFILE_UNSPECIFIED,
OPTIMIZE_UTILIZATION, BALANCED'
x-kubernetes-immutable: true
enum:
- PROFILE_UNSPECIFIED
- OPTIMIZE_UTILIZATION
- BALANCED
enableNodeAutoprovisioning:
type: boolean
x-dcl-go-name: EnableNodeAutoprovisioning
description: Enables automatic node pool creation and deletion
resourceLimits:
type: array
x-dcl-go-name: ResourceLimits
description: Contains global constraints regarding minimum and maximum
amount of resources in the cluster.
x-dcl-send-empty: true
x-dcl-list-type: list
items:
type: object
x-dcl-go-type: ClusterAutoscalingResourceLimits
properties:
maximum:
type: integer
format: int64
x-dcl-go-name: Maximum
description: Maximum amount of the resource in the cluster
minimum:
type: integer
format: int64
x-dcl-go-name: Minimum
description: Minimum amount of the resource in the cluster
resourceType:
type: string
x-dcl-go-name: ResourceType
description: Resource name 'cpu', 'memory' or gpu-specific string.
binaryAuthorization:
type: object
x-dcl-go-name: BinaryAuthorization
x-dcl-go-type: ClusterBinaryAuthorization
description: Configuration for Binary Authorization
properties:
enabled:
type: boolean
x-dcl-go-name: Enabled
description: Enable Binary Authorization for this cluster. If enabled,
all container images will be validated by Binary Authorization.
clusterIPv4Cidr:
type: string
x-dcl-go-name: ClusterIPv4Cidr
description: The IP address range of the container pods in this cluster,
in CIDR notation (e.g. 10.96.0.0/14). Leave blank to have one automatically
chosen or specify a /14 block in 10.0.0.0/8.
x-kubernetes-immutable: true
clusterTelemetry:
type: object
x-dcl-go-name: ClusterTelemetry
x-dcl-go-type: ClusterClusterTelemetry
description: Telemetry integration for the cluster.
x-kubernetes-immutable: true
properties:
type:
type: string
x-dcl-go-name: Type
x-dcl-go-type: ClusterClusterTelemetryTypeEnum
description: 'Type of the integration. Possible values: UNSPECIFIED,
GVISOR'
x-kubernetes-immutable: true
enum:
- UNSPECIFIED
- GVISOR
conditions:
type: array
x-dcl-go-name: Conditions
readOnly: true
description: Which conditions caused the current cluster state.
x-kubernetes-immutable: true
x-dcl-list-type: list
items:
type: object
x-dcl-go-type: ClusterConditions
properties:
canonicalCode:
type: string
x-dcl-go-name: CanonicalCode
x-dcl-go-type: ClusterConditionsCanonicalCodeEnum
description: 'Canonical code of the condition. Possible values: OK,
CANCELLED, UNKNOWN, INVALID_ARGUMENT, DEADLINE_EXCEEDED, NOT_FOUND,
ALREADY_EXISTS, PERMISSION_DENIED, UNAUTHENTICATED, RESOURCE_EXHAUSTED,
FAILED_PRECONDITION, ABORTED, OUT_OF_RANGE, UNIMPLEMENTED, INTERNAL,
UNAVAILABLE, DATA_LOSS'
x-kubernetes-immutable: true
enum:
- OK
- CANCELLED
- UNKNOWN
- INVALID_ARGUMENT
- DEADLINE_EXCEEDED
- NOT_FOUND
- ALREADY_EXISTS
- PERMISSION_DENIED
- UNAUTHENTICATED
- RESOURCE_EXHAUSTED
- FAILED_PRECONDITION
- ABORTED
- OUT_OF_RANGE
- UNIMPLEMENTED
- INTERNAL
- UNAVAILABLE
- DATA_LOSS
code:
type: string
x-dcl-go-name: Code
description: Machine-friendly representation of the condition
x-kubernetes-immutable: true
message:
type: string
x-dcl-go-name: Message
description: Human-friendly representation of the condition
x-kubernetes-immutable: true
confidentialNodes:
type: object
x-dcl-go-name: ConfidentialNodes
x-dcl-go-type: ClusterConfidentialNodes
description: Configuration of Confidential Nodes
x-kubernetes-immutable: true
properties:
enabled:
type: boolean
x-dcl-go-name: Enabled
description: Whether Confidential Nodes feature is enabled for all nodes
in this cluster.
x-kubernetes-immutable: true
createTime:
type: string
format: date-time
x-dcl-go-name: CreateTime
readOnly: true
description: The time the cluster was created, in RFC3339 text format.
x-kubernetes-immutable: true
currentMasterVersion:
type: string
x-dcl-go-name: CurrentMasterVersion
readOnly: true
description: The current software version of the master endpoint.
x-kubernetes-immutable: true
currentNodeVersion:
type: string
x-dcl-go-name: CurrentNodeVersion
readOnly: true
description: (https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools)
instead. The current version of the node software components. If they
are currently at multiple versions because they're in the process of being
upgraded, this reflects the minimum version of all nodes.
x-kubernetes-immutable: true
databaseEncryption:
type: object
x-dcl-go-name: DatabaseEncryption
x-dcl-go-type: ClusterDatabaseEncryption
description: Configuration of etcd encryption
properties:
keyName:
type: string
x-dcl-go-name: KeyName
description: Name of CloudKMS key to use
state:
type: string
x-dcl-go-name: State
x-dcl-go-type: ClusterDatabaseEncryptionStateEnum
description: 'Denotes the state of etcd encryption. Possible values:
UNKNOWN, ENCRYPTED, DECRYPTED'
enum:
- UNKNOWN
- ENCRYPTED
- DECRYPTED
defaultMaxPodsConstraint:
type: object
x-dcl-go-name: DefaultMaxPodsConstraint
x-dcl-go-type: ClusterDefaultMaxPodsConstraint
description: The default constraint on the maximum number of pods that can
be run simultaneously on a node in the node pool of this cluster. Only
honored if cluster created with IP Alias support.
x-kubernetes-immutable: true
properties:
maxPodsPerNode:
type: string
x-dcl-go-name: MaxPodsPerNode
description: Constraint enforced on the max num of pods per node.
x-kubernetes-immutable: true
description:
type: string
x-dcl-go-name: Description
description: An optional description of this cluster.
x-kubernetes-immutable: true
enableKubernetesAlpha:
type: boolean
x-dcl-go-name: EnableKubernetesAlpha
description: Kubernetes alpha features are enabled for this cluster. The
cluster has no SLA for uptime and master/node upgrades are disabled. Alpha
enabled clusters are automatically deleted thirty days after creation.
x-kubernetes-immutable: true
enableTPU:
type: boolean
x-dcl-go-name: EnableTPU
description: Enable the ability to use Cloud TPUs in this cluster.
x-kubernetes-immutable: true
endpoint:
type: string
x-dcl-go-name: Endpoint
readOnly: true
description: The IP address of this cluster's master endpoint. The endpoint
can be accessed from the internet at https://username:password@endpoint/ See
the masterAuth property of this resource for username and password information.
x-kubernetes-immutable: true
expireTime:
type: string
format: date-time
x-dcl-go-name: ExpireTime
readOnly: true
description: The time the cluster will be automatically deleted in RFC3339
text format.
x-kubernetes-immutable: true
id:
type: string
x-dcl-go-name: Id
readOnly: true
description: Output only. Unique id for the cluster.
x-kubernetes-immutable: true
initialClusterVersion:
type: string
x-dcl-go-name: InitialClusterVersion
description: 'The initial Kubernetes version for this cluster. Valid versions
are those found in validMasterVersions returned by getServerConfig. The
version can be upgraded over time; such upgrades are reflected in currentMasterVersion
and currentNodeVersion. Users may specify either explicit versions offered
by Kubernetes Engine or version aliases, which have the following behavior:
- "latest": picks the highest valid Kubernetes version - "1.X": picks
the highest valid patch+gke.N patch in the 1.X version - "1.X.Y": picks
the highest valid gke.N patch in the 1.X.Y version - "1.X.Y-gke.N": picks
an explicit Kubernetes version - "","-": picks the default Kubernetes
version'
x-kubernetes-immutable: true
ipAllocationPolicy:
type: object
x-dcl-go-name: IPAllocationPolicy
x-dcl-go-type: ClusterIPAllocationPolicy
description: Configuration for controlling how IPs are allocated in the
cluster
x-kubernetes-immutable: true
properties:
allowRouteOverlap:
type: boolean
x-dcl-go-name: AllowRouteOverlap
description: 'If true, allow allocation of cluster CIDR ranges that
overlap with certain kinds of network routes. By default we do not
allow cluster CIDR ranges to intersect with any user declared routes.
With allow_route_overlap == true, we allow overlapping with CIDR ranges
that are larger than the cluster CIDR range. If this field is set
to true, then cluster and services CIDRs must be fully-specified (e.g.
`10.96.0.0/14`, but not `/14`), which means: 1) When `use_ip_aliases`
is true, `cluster_ipv4_cidr_block` and `services_ipv4_cidr_block`
must be fully-specified. 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr`
muse be fully-specified.'
x-kubernetes-immutable: true
clusterIPv4CidrBlock:
type: string
x-dcl-go-name: ClusterIPv4CidrBlock
description: The IP address range for the cluster pod IPs. If this field
is set, then cluster.cluster_ipv4_cidr must be left blank. This field
is only applicable when useIpAliases is true. Set to blank to have
a range chosen with the default size. Set to /netmask (e.g. /14)
to have a range chosen with a specific netmask.
x-kubernetes-immutable: true
clusterSecondaryRangeName:
type: string
x-dcl-go-name: ClusterSecondaryRangeName
description: 'The name of the secondary range to be used for the cluster
CIDR block. The secondary range will be used for pod IP addresses.
This must be an existing secondary range associated with the cluster
subnetwork '
x-kubernetes-immutable: true
createSubnetwork:
type: boolean
x-dcl-go-name: CreateSubnetwork
description: Whether a new subnetwork will be created automatically
for the cluster
x-kubernetes-immutable: true
nodeIPv4CidrBlock:
type: string
x-dcl-go-name: NodeIPv4CidrBlock
readOnly: true
description: The IP address range of the instance IPs in this cluster. This
is applicable only if createSubnetwork is true. Set to blank to have
a range chosen with the default size. Set to /netmask (e.g. /14)
to have a range chosen with a specific netmask.
x-kubernetes-immutable: true
servicesIPv4CidrBlock:
type: string
x-dcl-go-name: ServicesIPv4CidrBlock
readOnly: true
description: The IP address range of the services IPs in this cluster.
If blank, a range will be automatically chosen with the default size. This
field is only applicable when useIpAliases is true. Set to blank
to have a range chosen with the default size. Set to /netmask (e.g.
/14) to have a range chosen with a specific netmask.
x-kubernetes-immutable: true
servicesSecondaryRangeName:
type: string
x-dcl-go-name: ServicesSecondaryRangeName
description: The name of the secondary range to be used as for the services
CIDR block. The secondary range will be used for service ClusterIPs.
This must be an existing secondary range associated with the cluster
subnetwork.
x-kubernetes-immutable: true
subnetworkName:
type: string
x-dcl-go-name: SubnetworkName
description: A custom subnetwork name to be used if createSubnetwork
is true. If this field is empty, then an automatic name will be chosen
for the new subnetwork.
x-kubernetes-immutable: true
tpuIPv4CidrBlock:
type: string
x-dcl-go-name: TPUIPv4CidrBlock
description: The IP address range of the Cloud TPUs in this cluster.
If unspecified, a range will be automatically chosen with the default
size. This field is only applicable when useIpAliases is true. If
unspecified, the range will use the default size. Set to /netmask
(e.g. /14) to have a range chosen with a specific netmask.
x-kubernetes-immutable: true
useIPAliases:
type: boolean
x-dcl-go-name: UseIPAliases
description: Whether alias IPs will be used for pod IPs in the cluster
x-kubernetes-immutable: true
useRoutes:
type: boolean
x-dcl-go-name: UseRoutes
description: Whether routes will be used for pod IPs in the cluster.
This is used in conjunction with use_ip_aliases. It cannot be true
if use_ip_aliases is true. If both use_ip_aliases and use_routes are
false, then the server picks the default IP allocation mode
x-kubernetes-immutable: true
labelFingerprint:
type: string
x-dcl-go-name: LabelFingerprint
description: The fingerprint of the set of labels for this cluster.
x-kubernetes-immutable: true
legacyAbac:
type: object
x-dcl-go-name: LegacyAbac
x-dcl-go-type: ClusterLegacyAbac
description: Configuration for the legacy ABAC authorization mode.
properties:
enabled:
type: boolean
x-dcl-go-name: Enabled
description: Whether the ABAC authorizer is enabled for this cluster.
When enabled, identities in the system, including service accounts,
nodes, and controllers, will have statically granted permissions beyond
those provided by the RBAC configuration or IAM.
location:
type: string
x-dcl-go-name: Location
description: The location where the cluster is deployed
x-kubernetes-immutable: true
locations:
type: array
x-dcl-go-name: Locations
description: The list of Google Compute Engine zones in which the cluster's
nodes should be located.
x-dcl-send-empty: true
x-dcl-list-type: list
items:
type: string
x-dcl-go-type: string
loggingService:
type: string
x-dcl-go-name: LoggingService
description: 'The logging service the cluster should use to write logs.
Currently available options: logging.googleapis.com - the Google Cloud
Logging service. none - no logs will be exported from the cluster. if
left as an empty string,logging.googleapis.com will be used.'
maintenancePolicy:
type: object
x-dcl-go-name: MaintenancePolicy
x-dcl-go-type: ClusterMaintenancePolicy
description: The maintenance policy to be used for the cluster.
properties:
resourceVersion:
type: string
x-dcl-go-name: ResourceVersion
description: A hash identifying the version of this policy, so that
updates to fields of the policy won't accidentally undo intermediate
changes
window:
type: object
x-dcl-go-name: Window
x-dcl-go-type: ClusterMaintenancePolicyWindow
properties:
dailyMaintenanceWindow:
type: object
x-dcl-go-name: DailyMaintenanceWindow
x-dcl-go-type: ClusterMaintenancePolicyWindowDailyMaintenanceWindow
x-dcl-conflicts:
- recurringWindow
properties:
duration:
type: string
x-dcl-go-name: Duration
readOnly: true
description: Duration of the time window, automatically chosen
to be smallest possible in the given scenario
startTime:
type: string
format: date-time
x-dcl-go-name: StartTime
description: Time within the maintenance window to start the
maintenance operations
maintenanceExclusions:
type: object
additionalProperties:
type: string
x-dcl-go-name: MaintenanceExclusions
description: Exceptions to maintenance window. Non-emergency maintenance
should not occur in these windows.
recurringWindow:
type: object
x-dcl-go-name: RecurringWindow
x-dcl-go-type: ClusterMaintenancePolicyWindowRecurringWindow
x-dcl-conflicts:
- dailyMaintenanceWindow
properties:
recurrence:
type: string
x-dcl-go-name: Recurrence
description: An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3)
for how this window reccurs. They go on for the span of time
between the start and end time.
window:
type: object
x-dcl-go-name: Window
x-dcl-go-type: ClusterMaintenancePolicyWindowRecurringWindowWindow
properties:
endTime:
type: string
format: date-time
x-dcl-go-name: EndTime
description: The time that the window ends.
startTime:
type: string
format: date-time
x-dcl-go-name: StartTime
description: The time that the window first starts.
master:
type: object
x-dcl-go-name: Master
x-dcl-go-type: ClusterMaster
description: Configuration for master components.
x-kubernetes-immutable: true
masterAuth:
type: object
x-dcl-go-name: MasterAuth
x-dcl-go-type: ClusterMasterAuth
readOnly: true
description: The authentication information for accessing the master endpoint.
x-kubernetes-immutable: true
properties:
clientCertificate:
type: string
x-dcl-go-name: ClientCertificate
readOnly: true
description: Base64-encoded public certificate used by clients to authenticate
to the cluster endpoint.
x-kubernetes-immutable: true
clientCertificateConfig:
type: object
x-dcl-go-name: ClientCertificateConfig
x-dcl-go-type: ClusterMasterAuthClientCertificateConfig
description: Configuration for client certificate authentication on
the cluster. For clusters before v1.12, if no configuration is specified,
a client certificate is issued.
x-kubernetes-immutable: true
properties:
issueClientCertificate:
type: boolean
x-dcl-go-name: IssueClientCertificate
description: Issue a client certificate.
x-kubernetes-immutable: true
clientKey:
type: string
x-dcl-go-name: ClientKey
readOnly: true
description: Base64-encoded private key used by clients to authenticate
to the cluster endpoint.
x-kubernetes-immutable: true
clusterCaCertificate:
type: string
x-dcl-go-name: ClusterCaCertificate
readOnly: true
description: Base64-encoded public certificate that is the root of trust
for the cluster.
x-kubernetes-immutable: true
masterAuthorizedNetworksConfig:
type: object
x-dcl-go-name: MasterAuthorizedNetworksConfig
x-dcl-go-type: ClusterMasterAuthorizedNetworksConfig
description: Configuration for controlling how IPs are allocated in the
cluster
properties:
cidrBlocks:
type: array
x-dcl-go-name: CidrBlocks
description: Define up to 50 external networks that could access Kubernetes
master through HTTPS.
x-dcl-send-empty: true
x-dcl-list-type: list
items:
type: object
x-dcl-go-type: ClusterMasterAuthorizedNetworksConfigCidrBlocks
properties:
cidrBlock:
type: string
x-dcl-go-name: CidrBlock
description: Block specified in CIDR notation
displayName:
type: string
x-dcl-go-name: DisplayName
description: Optional field used to identify cidr blocks
enabled:
type: boolean
x-dcl-go-name: Enabled
description: Whether or not master authorized networks is enabled.
masterIPv4CidrBlock:
type: string
x-dcl-go-name: MasterIPv4CidrBlock
description: The IP prefix in CIDR notation to use for the hosted master
network. This prefix will be used for assigning private IP addresses to
the master or set of masters, as well as the ILB VIP. This field is deprecated,
use private_cluster_config.master_ipv4_cidr_block instead.
x-kubernetes-immutable: true
masterVersion:
type: string
x-dcl-go-name: MasterVersion
description: The current software version of the master endpoint.
monitoringService:
type: string
x-dcl-go-name: MonitoringService
description: 'The monitoring service the cluster should use to write metrics.
Currently available options: monitoring.googleapis.com - the Google Cloud
Monitoring service. none - no metrics will be exported from the cluster. if
left as an empty string, monitoring.googleapis.com will be used.'
name:
type: string
x-dcl-go-name: Name
description: The name of this cluster. The name must be unique within this
project and location, and can be up to 40 characters. Must be Lowercase
letters, numbers, and hyphens only. Must start with a letter. Must end
with a number or a letter.
x-kubernetes-immutable: true
network:
type: string
x-dcl-go-name: Network
description: The name of the Google Compute Engine network to which the
cluster is connected. If left unspecified, the default network will be
used.
x-kubernetes-immutable: true
networkConfig:
type: object
x-dcl-go-name: NetworkConfig
x-dcl-go-type: ClusterNetworkConfig
description: NetworkConfig reports the relative names of network & subnetwork.
x-kubernetes-immutable: true
properties:
datapathProvider:
type: string
x-dcl-go-name: DatapathProvider
x-dcl-go-type: ClusterNetworkConfigDatapathProviderEnum
description: 'The desired datapath provider for this cluster. By default,
uses the IPTables-based kube-proxy implementation. Possible values:
DATAPATH_PROVIDER_UNSPECIFIED, LEGACY_DATAPATH, ADVANCED_DATAPATH'
x-kubernetes-immutable: true
enum:
- DATAPATH_PROVIDER_UNSPECIFIED
- LEGACY_DATAPATH
- ADVANCED_DATAPATH
defaultSnatStatus:
type: object
x-dcl-go-name: DefaultSnatStatus
x-dcl-go-type: ClusterNetworkConfigDefaultSnatStatus
description: Whether the cluster disables default in-node sNAT rules.
In-node sNAT rules will be disabled when default_snat_status is disabled.
When disabled is set to false, default IP masquerade rules will be
applied to the nodes to prevent sNAT on cluster internal traffic.
x-kubernetes-immutable: true
properties:
disabled:
type: boolean
x-dcl-go-name: Disabled
description: Disables cluster default sNAT rules.
x-kubernetes-immutable: true
enableIntraNodeVisibility:
type: boolean
x-dcl-go-name: EnableIntraNodeVisibility
description: Whether Intra-node visibility is enabled for this cluster.
This makes same node pod to pod traffic visible for VPC network.
x-kubernetes-immutable: true
network:
type: string
x-dcl-go-name: Network
readOnly: true
description: Name of the GCE network where cluster is connected
x-kubernetes-immutable: true
privateIPv6GoogleAccess:
type: string
x-dcl-go-name: PrivateIPv6GoogleAccess
x-dcl-go-type: ClusterNetworkConfigPrivateIPv6GoogleAccessEnum
description: 'The desired state of IPv6 connectivity to Google Services.
By default, no private IPv6 access to or from Google Services (all
access will be via IPv4) Possible values: PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED,
PRIVATE_IPV6_GOOGLE_ACCESS_DISABLED, PRIVATE_IPV6_GOOGLE_ACCESS_TO_GOOGLE,
PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL'
x-kubernetes-immutable: true
enum:
- PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED
- PRIVATE_IPV6_GOOGLE_ACCESS_DISABLED
- PRIVATE_IPV6_GOOGLE_ACCESS_TO_GOOGLE
- PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL
subnetwork:
type: string
x-dcl-go-name: Subnetwork
readOnly: true
description: Name of the GCE subnetwork where cluster is connected
x-kubernetes-immutable: true
networkPolicy:
type: object
x-dcl-go-name: NetworkPolicy
x-dcl-go-type: ClusterNetworkPolicy
description: Configuration options for the NetworkPolicy feature.
x-kubernetes-immutable: true
properties:
enabled:
type: boolean
x-dcl-go-name: Enabled
description: Whether network policy is enabled on the cluster.
x-kubernetes-immutable: true
provider:
type: string
x-dcl-go-name: Provider
x-dcl-go-type: ClusterNetworkPolicyProviderEnum
description: 'The selected network policy provider. Possible values:
PROVIDER_UNSPECIFIED, CALICO'
x-kubernetes-immutable: true
enum:
- PROVIDER_UNSPECIFIED
- CALICO
nodeIPv4CidrSize:
type: integer
format: int64
x-dcl-go-name: NodeIPv4CidrSize
readOnly: true
description: The size of the address space on each node for hosting containers.
This is provisioned from within the container_ipv4_cidr range.
x-kubernetes-immutable: true
nodePools:
type: array
x-dcl-go-name: NodePools
readOnly: true
description: The list of node pools in this cluster
x-kubernetes-immutable: true
x-dcl-list-type: list
items:
type: object
x-dcl-go-type: ClusterNodePools
properties:
autoscaling:
type: object
x-dcl-go-name: Autoscaling
x-dcl-go-type: ClusterNodePoolsAutoscaling
description: Autoscaler configuration for this NodePool. Autoscaler
is enabled only if a valid configuration is present.
x-kubernetes-immutable: true
properties:
autoprovisioned:
type: boolean
x-dcl-go-name: Autoprovisioned
description: Can this node pool be deleted automatically.
x-kubernetes-immutable: true
enabled:
type: boolean
x-dcl-go-name: Enabled
description: Is autoscaling enabled for this node pool.
x-kubernetes-immutable: true
maxNodeCount:
type: integer
format: int64
x-dcl-go-name: MaxNodeCount
description: Maximum number of nodes in the NodePool. Must be
>= min_node_count. There has to enough quota to scale up the
cluster.
x-kubernetes-immutable: true
minNodeCount:
type: integer
format: int64
x-dcl-go-name: MinNodeCount
description: Minimum number of nodes in the NodePool. Must be
>= 1 and <= max_node_count.
x-kubernetes-immutable: true
conditions:
type: array
x-dcl-go-name: Conditions
readOnly: true
description: Which conditions caused the current node pool state.
x-kubernetes-immutable: true
x-dcl-list-type: list
items:
type: object
x-dcl-go-type: ClusterNodePoolsConditions
properties:
canonicalCode:
type: string
x-dcl-go-name: CanonicalCode
x-dcl-go-type: ClusterNodePoolsConditionsCanonicalCodeEnum
description: 'Canonical code of the condition. Possible values:
OK, CANCELLED, UNKNOWN, INVALID_ARGUMENT, DEADLINE_EXCEEDED,
NOT_FOUND, ALREADY_EXISTS, PERMISSION_DENIED, UNAUTHENTICATED,
RESOURCE_EXHAUSTED, FAILED_PRECONDITION, ABORTED, OUT_OF_RANGE,
UNIMPLEMENTED, INTERNAL, UNAVAILABLE, DATA_LOSS'
x-kubernetes-immutable: true
enum:
- OK
- CANCELLED
- UNKNOWN
- INVALID_ARGUMENT
- DEADLINE_EXCEEDED
- NOT_FOUND
- ALREADY_EXISTS
- PERMISSION_DENIED
- UNAUTHENTICATED
- RESOURCE_EXHAUSTED
- FAILED_PRECONDITION
- ABORTED
- OUT_OF_RANGE
- UNIMPLEMENTED
- INTERNAL
- UNAVAILABLE
- DATA_LOSS
message:
type: string
x-dcl-go-name: Message
description: Human-friendly representation of the condition
x-kubernetes-immutable: true
config:
type: object
x-dcl-go-name: Config
x-dcl-go-type: ClusterNodePoolsConfig
description: The node configuration of the pool.
x-kubernetes-immutable: true
properties:
accelerators:
type: array
x-dcl-go-name: Accelerators
description: A list of hardware accelerators to be attached to
each node. See https://cloud.google.com/compute/docs/gpus for
more information about support for GPUs.
x-kubernetes-immutable: true
x-dcl-send-empty: true
x-dcl-list-type: list
items:
type: object
x-dcl-go-type: ClusterNodePoolsConfigAccelerators
properties:
acceleratorCount:
type: integer
format: int64
x-dcl-go-name: AcceleratorCount
description: The number of the accelerator cards exposed
to an instance.
x-kubernetes-immutable: true
acceleratorType:
type: string
x-dcl-go-name: AcceleratorType
description: The accelerator type resource name. List of
supported accelerators (https://cloud.google.com/compute/docs/gpus)
x-kubernetes-immutable: true
bootDiskKmsKey:
type: string
x-dcl-go-name: BootDiskKmsKey
description: 'The Customer Managed Encryption Key used to encrypt
the boot disk attached to each node in the node pool. This should
be of the form projects/. For more information about protecting
resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption'
x-kubernetes-immutable: true
diskSizeGb:
type: integer
format: int64
x-dcl-go-name: DiskSizeGb
description: Size of the disk attached to each node, specified
in GB. The smallest allowed disk size is 10GB. If unspecified,
the default disk size is 100GB.
x-kubernetes-immutable: true
diskType:
type: string
x-dcl-go-name: DiskType
description: Type of the disk attached to each node (e.g. 'pd-standard',
'pd-ssd' or 'pd-balanced') If unspecified, the default disk
type is 'pd-standard'
x-kubernetes-immutable: true
ephemeralStorageConfig:
type: object
x-dcl-go-name: EphemeralStorageConfig
x-dcl-go-type: ClusterNodePoolsConfigEphemeralStorageConfig
description: Parameters for the ephemeral storage filesystem.
If unspecified, ephemeral storage is backed by the boot disk.
x-kubernetes-immutable: true
properties:
localSsdCount:
type: integer
format: int64
x-dcl-go-name: LocalSsdCount
description: Number of local SSDs to use to back ephemeral
storage. Uses NVMe interfaces. Each local SSD is 375 GB
in size. If zero, it means to disable using local SSDs as
ephemeral storage.
x-kubernetes-immutable: true
imageType:
type: string
x-dcl-go-name: ImageType
x-kubernetes-immutable: true
kubeletConfig:
type: object
x-dcl-go-name: KubeletConfig
x-dcl-go-type: ClusterNodePoolsConfigKubeletConfig
description: Node kubelet configs.
x-kubernetes-immutable: true
properties:
cpuCfsQuota:
type: boolean
x-dcl-go-name: CpuCfsQuota
description: Enable CPU CFS quota enforcement for containers
that specify CPU limits. This option is enabled by default
which makes kubelet use CFS quota (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt)
to enforce container CPU limits. Otherwise, CPU limits will
not be enforced at all. Disable this option to mitigate
CPU throttling problems while still having your pods to
be in Guaranteed QoS class by specifying the CPU limits.
The default value is 'true' if unspecified.
x-kubernetes-immutable: true
cpuCfsQuotaPeriod:
type: string
x-dcl-go-name: CpuCfsQuotaPeriod
description: Set the CPU CFS quota period value 'cpu.cfs_period_us'.
The string must be a sequence of decimal numbers, each with
optional fraction and a unit suffix, such as "300ms". Valid
time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
The value must be a positive duration.
x-kubernetes-immutable: true
cpuManagerPolicy:
type: string
x-dcl-go-name: CpuManagerPolicy
description: 'Control the CPU management policy on the node.
See https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/
The following values are allowed. - "none": the default,
which represents the existing scheduling behavior. - "static":
allows pods with certain resource characteristics to be
granted increased CPU affinity and exclusivity on the node.
The default value is ''none'' if unspecified.'
x-kubernetes-immutable: true
labels:
type: object
additionalProperties:
type: string
x-dcl-go-name: Labels
description: 'The map of Kubernetes labels (key/value pairs) to
be applied to each node. These will added in addition to any
default label(s) that Kubernetes may apply to the node. In case
of conflict in label keys, the applied set may differ depending
on the Kubernetes version -- it''s best to assume the behavior
is undefined and conflicts should be avoided. For more information,
including usage and the valid values, see: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/'
x-kubernetes-immutable: true
linuxNodeConfig:
type: object
x-dcl-go-name: LinuxNodeConfig
x-dcl-go-type: ClusterNodePoolsConfigLinuxNodeConfig
description: Parameters that can be configured on Linux nodes.
x-kubernetes-immutable: true
properties:
sysctls:
type: object
additionalProperties:
type: string
x-dcl-go-name: Sysctls
description: The Linux kernel parameters to be applied to
the nodes and all pods running on the nodes. The following
parameters are supported. net.core.netdev_max_backlog net.core.rmem_max
net.core.wmem_default net.core.wmem_max net.core.optmem_max
net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse
x-kubernetes-immutable: true
localSsdCount:
type: integer
format: int64
x-dcl-go-name: LocalSsdCount
description: 'The number of local SSD disks to be attached to
the node. The limit for this value is dependent upon the maximum
number of disks available on a machine per zone. See: https://cloud.google.com/compute/docs/disks/local-ssd
for more information.'
x-kubernetes-immutable: true
machineType:
type: string
x-dcl-go-name: MachineType
description: The name of a Google Compute Engine (https://cloud.google.com/compute/docs/machine-types)
If unspecified, the default machine type is `e2-medium`.
x-kubernetes-immutable: true
metadata:
type: object
additionalProperties:
type: string
x-dcl-go-name: Metadata
description: 'The metadata key/value pairs assigned to instances
in the cluster. Keys must conform to the regexp `+` and be less
than 128 bytes in length. These are reflected as part of a URL
in the metadata server. Additionally, to avoid ambiguity, keys
must not conflict with any other metadata keys for the project
or be one of the reserved keys: - "cluster-location" - "cluster-name"
- "cluster-uid" - "configure-sh" - "containerd-configure-sh"
- "enable-os-login" - "gci-ensure-gke-docker" - "gci-metrics-enabled"
- "gci-update-strategy" - "instance-template" - "kube-env" -
"startup-script" - "user-data" - "disable-address-manager" -
"windows-startup-script-ps1" - "common-psm1" - "k8s-node-setup-psm1"
- "install-ssh-psm1" - "user-profile-psm1" The following keys
are reserved for Windows nodes: - "serial-port-logging-enable"
Values are free-form strings, and only have meaning as interpreted
by the image running in the instance. The only restriction placed
on them is that each value''s size must be less than or equal
to 32 KB. The total size of all keys and values must be less
than 512 KB.'
x-kubernetes-immutable: true
minCpuPlatform:
type: string
x-dcl-go-name: MinCpuPlatform
description: 'Minimum CPU platform to be used by this instance.
The instance may be scheduled on the specified or newer CPU
platform. Applicable values are the friendly names of CPU platforms,
such as `minCpuPlatform: "Intel Haswell"` or `minCpuPlatform:
"Intel Sandy Bridge"`. For more information, read (https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)'
x-kubernetes-immutable: true
nodeGroup:
type: string
x-dcl-go-name: NodeGroup
description: Setting this field will assign instances of this
pool to run on the specified node group. This is useful for
running workloads on (https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).
x-kubernetes-immutable: true
oauthScopes:
type: array
x-dcl-go-name: OAuthScopes
description: 'The set of Google API scopes to be made available
on all of the node VMs under the "default" service account.
The following scopes are recommended, but not required, and
by default are not included: * `https://www.googleapis.com/auth/compute`
is required for mounting persistent storage on your nodes. *
`https://www.googleapis.com/auth/devstorage.read_only` is required
for communicating with **gcr.io** (the (https://cloud.google.com/container-registry/)).
If unspecified, no scopes are added, unless Cloud Logging or
Cloud Monitoring are enabled, in which case their required scopes
will be added.'
x-kubernetes-immutable: true
x-dcl-send-empty: true
x-dcl-list-type: list
items:
type: string
x-dcl-go-type: string
preemptible:
type: boolean
x-dcl-go-name: Preemptible
description: 'Whether the nodes are created as preemptible VM
instances. See: https://cloud.google.com/compute/docs/instances/preemptible
for more information about preemptible VM instances.'
x-kubernetes-immutable: true
reservationAffinity:
type: object
x-dcl-go-name: ReservationAffinity
x-dcl-go-type: ClusterNodePoolsConfigReservationAffinity
description: The optional reservation affinity. Setting this field
will apply the specified (https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
to this node pool.
x-kubernetes-immutable: true
properties:
consumeReservationType:
type: string
x-dcl-go-name: ConsumeReservationType
x-dcl-go-type: ClusterNodePoolsConfigReservationAffinityConsumeReservationTypeEnum
description: 'Corresponds to the type of reservation consumption.
Possible values: UNSPECIFIED, NO_RESERVATION, ANY_RESERVATION,
SPECIFIC_RESERVATION'
x-kubernetes-immutable: true
enum:
- UNSPECIFIED
- NO_RESERVATION
- ANY_RESERVATION
- SPECIFIC_RESERVATION
key:
type: string
x-dcl-go-name: Key
description: Corresponds to the label key of a reservation
resource. To target a SPECIFIC_RESERVATION by name, specify
"googleapis.com/reservation-name" as the key and specify
the name of your reservation as its value.
x-kubernetes-immutable: true
values:
type: array
x-dcl-go-name: Values
description: Corresponds to the label value(s) of reservation
resource(s).
x-kubernetes-immutable: true
x-dcl-send-empty: true
x-dcl-list-type: list
items:
type: string
x-dcl-go-type: string
sandboxConfig:
type: object
x-dcl-go-name: SandboxConfig
x-dcl-go-type: ClusterNodePoolsConfigSandboxConfig
description: Sandbox configuration for this node.
x-kubernetes-immutable: true
properties:
sandboxType:
type: string
x-dcl-go-name: SandboxType
description: Type of the sandbox to use for the node (e.g.
'gvisor')
x-kubernetes-immutable: true
type:
type: string
x-dcl-go-name: Type
x-dcl-go-type: ClusterNodePoolsConfigSandboxConfigTypeEnum
description: 'Type of the sandbox to use for the node. Possible
values: UNSPECIFIED, GVISOR'
x-kubernetes-immutable: true
enum:
- UNSPECIFIED
- GVISOR
serviceAccount:
type: string
x-dcl-go-name: ServiceAccount
description: The Google Cloud Platform Service Account to be used
by the node VMs. Specify the email address of the Service Account;
otherwise, if no Service Account is specified, the "default"
service account is used.
x-kubernetes-immutable: true
shieldedInstanceConfig:
type: object
x-dcl-go-name: ShieldedInstanceConfig
x-dcl-go-type: ClusterNodePoolsConfigShieldedInstanceConfig
description: Shielded Instance options.
x-kubernetes-immutable: true
properties:
enableIntegrityMonitoring:
type: boolean
x-dcl-go-name: EnableIntegrityMonitoring
description: Defines whether the instance has integrity monitoring
enabled. Enables monitoring and attestation of the boot
integrity of the instance. The attestation is performed
against the integrity policy baseline. This baseline is
initially derived from the implicitly trusted boot image
when the instance is created.
x-kubernetes-immutable: true
enableSecureBoot:
type: boolean
x-dcl-go-name: EnableSecureBoot
description: Defines whether the instance has Secure Boot
enabled. Secure Boot helps ensure that the system only runs
authentic software by verifying the digital signature of
all boot components, and halting the boot process if signature
verification fails.
x-kubernetes-immutable: true
tags:
type: array
x-dcl-go-name: Tags
description: The list of instance tags applied to all nodes. Tags
are used to identify valid sources or targets for network firewalls
and are specified by the client during cluster or node pool
creation. Each tag within the list must comply with RFC1035.
x-kubernetes-immutable: true
x-dcl-send-empty: true
x-dcl-list-type: list
items:
type: string
x-dcl-go-type: string
taints:
type: array
x-dcl-go-name: Taints
description: 'List of kubernetes taints to be applied to each
node. For more information, including usage and the valid values,
see: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/'
x-kubernetes-immutable: true
x-dcl-send-empty: true
x-dcl-list-type: list
items:
type: object
x-dcl-go-type: ClusterNodePoolsConfigTaints
properties:
effect:
type: string
x-dcl-go-name: Effect
x-dcl-go-type: ClusterNodePoolsConfigTaintsEffectEnum
description: 'Effect for taint. Possible values: EFFECT_UNSPECIFIED,
NO_SCHEDULE, PREFER_NO_SCHEDULE, NO_EXECUTE'
x-kubernetes-immutable: true
enum:
- EFFECT_UNSPECIFIED
- NO_SCHEDULE
- PREFER_NO_SCHEDULE
- NO_EXECUTE
key:
type: string
x-dcl-go-name: Key
description: Key for taint.
x-kubernetes-immutable: true
value:
type: string
x-dcl-go-name: Value
description: Value for taint.
x-kubernetes-immutable: true
workloadMetadataConfig:
type: object
x-dcl-go-name: WorkloadMetadataConfig
x-dcl-go-type: ClusterNodePoolsConfigWorkloadMetadataConfig
description: The workload metadata configuration for this node.
x-kubernetes-immutable: true
properties:
mode:
type: string
x-dcl-go-name: Mode
x-dcl-go-type: ClusterNodePoolsConfigWorkloadMetadataConfigModeEnum
description: 'Mode is the configuration for how to expose
metadata to workloads running on the node pool. Possible
values: MODE_UNSPECIFIED, GCE_METADATA, GKE_METADATA'
x-kubernetes-immutable: true
enum:
- MODE_UNSPECIFIED
- GCE_METADATA
- GKE_METADATA
nodeMetadata:
type: string
x-dcl-go-name: NodeMetadata
x-dcl-go-type: ClusterNodePoolsConfigWorkloadMetadataConfigNodeMetadataEnum
description: 'NodeMetadata is the configuration for how to
expose metadata to the workloads running on the node. Possible
values: UNSPECIFIED, SECURE, EXPOSE, GKE_METADATA_SERVER'
x-kubernetes-immutable: true
enum:
- UNSPECIFIED
- SECURE
- EXPOSE
- GKE_METADATA_SERVER
initialNodeCount:
type: integer
format: int64
x-dcl-go-name: InitialNodeCount
description: The initial node count for the pool. You must ensure
that your Compute Engine (https://cloud.google.com/compute/quotas)
is sufficient for this number of instances. You must also have available
firewall and routes quota.
x-kubernetes-immutable: true
instanceGroupUrls:
type: array
x-dcl-go-name: InstanceGroupUrls
readOnly: true
description: (https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
associated with this node pool.
x-kubernetes-immutable: true
x-dcl-list-type: list
items:
type: string
x-dcl-go-type: string
locations:
type: array
x-dcl-go-name: Locations
description: 'The list of Google Compute Engine (https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations)
value will be used, instead. Warning: changing node pool locations
will result in nodes being added and/or removed.'
x-kubernetes-immutable: true
x-dcl-send-empty: true
x-dcl-list-type: list
items:
type: string
x-dcl-go-type: string
management:
type: object
x-dcl-go-name: Management
x-dcl-go-type: ClusterNodePoolsManagement
description: NodeManagement configuration for this NodePool.
x-kubernetes-immutable: true
properties:
autoRepair:
type: boolean
x-dcl-go-name: AutoRepair
description: A flag that specifies whether the node auto-repair
is enabled for the node pool. If enabled, the nodes in this
node pool will be monitored and, if they fail health checks
too many times, an automatic repair action will be triggered.
x-kubernetes-immutable: true
autoUpgrade:
type: boolean
x-dcl-go-name: AutoUpgrade
description: A flag that specifies whether node auto-upgrade is
enabled for the node pool. If enabled, node auto-upgrade helps
keep the nodes in your node pool up to date with the latest
release version of Kubernetes.
x-kubernetes-immutable: true
upgradeOptions:
type: object
x-dcl-go-name: UpgradeOptions
x-dcl-go-type: ClusterNodePoolsManagementUpgradeOptions
description: Specifies the Auto Upgrade knobs for the node pool.
x-kubernetes-immutable: true
properties:
autoUpgradeStartTime:
type: string
x-dcl-go-name: AutoUpgradeStartTime
description: (https://www.ietf.org/rfc/rfc3339.txt) text format.
x-kubernetes-immutable: true
description:
type: string
x-dcl-go-name: Description
description: This field is set when upgrades are about to
commence with the description of the upgrade.
x-kubernetes-immutable: true
maxPodsConstraint:
type: object
x-dcl-go-name: MaxPodsConstraint
x-dcl-go-type: ClusterNodePoolsMaxPodsConstraint
description: The constraint on the maximum number of pods that can
be run simultaneously on a node in the node pool.
x-kubernetes-immutable: true
properties:
maxPodsPerNode:
type: integer
format: int64
x-dcl-go-name: MaxPodsPerNode
description: Constraint enforced on the max num of pods per node.
x-kubernetes-immutable: true
name:
type: string
x-dcl-go-name: Name
description: The name of the node pool
x-kubernetes-immutable: true
networkConfig:
type: object
x-dcl-go-name: NetworkConfig
x-dcl-go-type: ClusterNodePoolsNetworkConfig
description: Networking configuration for this NodePool. If specified,
it overrides the cluster-level defaults.
x-kubernetes-immutable: true
properties:
createPodRange:
type: boolean
x-dcl-go-name: CreatePodRange
description: Input only. Whether to create a new range for pod
IPs in this node pool. Defaults are provided for `pod_range`
and `pod_ipv4_cidr_block` if they are not specified. If neither
`create_pod_range` or `pod_range` are specified, the cluster-level
default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is
used.
x-kubernetes-immutable: true
x-dcl-mutable-unreadable: true
podIPv4CidrBlock:
type: string
x-dcl-go-name: PodIPv4CidrBlock
description: The IP address range for pod IPs in this node pool.
Only applicable if `create_pod_range` is true. Set to blank
to have a range chosen with the default size. Set to /netmask
(e.g. `/14`) to have a range chosen with a specific netmask.
Set to a (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
notation (e.g. `10.96.0.0/14`) to pick a specific range to use.
x-kubernetes-immutable: true
podRange:
type: string
x-dcl-go-name: PodRange
description: The ID of the secondary range for pod IPs. If `create_pod_range`
is true, this ID is used for the new range. If `create_pod_range`
is false, uses an existing secondary range with this ID.
x-kubernetes-immutable: true
podIPv4CidrSize:
type: integer
format: int64
x-dcl-go-name: PodIPv4CidrSize
readOnly: true
description: The pod CIDR block size per node in this node pool.
x-kubernetes-immutable: true
selfLink:
type: string
x-dcl-go-name: SelfLink
readOnly: true
description: Server-defined URL for the resource.
x-kubernetes-immutable: true
status:
type: string
x-dcl-go-name: Status
x-dcl-go-type: ClusterNodePoolsStatusEnum
readOnly: true
description: 'The status of the nodes in this pool instance. Possible
values: STATUS_UNSPECIFIED, PROVISIONING, RUNNING, RECONCILING,
STOPPING, ERROR, DEGRADED'
x-kubernetes-immutable: true
enum:
- STATUS_UNSPECIFIED
- PROVISIONING
- RUNNING
- RECONCILING
- STOPPING
- ERROR
- DEGRADED
upgradeSettings:
type: object
x-dcl-go-name: UpgradeSettings
x-dcl-go-type: ClusterNodePoolsUpgradeSettings
description: Upgrade settings control disruption and speed of the
upgrade.
x-kubernetes-immutable: true
properties:
maxSurge:
type: integer
format: int64
x-dcl-go-name: MaxSurge
description: The maximum number of nodes that can be created beyond
the current size of the node pool during the upgrade process.
x-kubernetes-immutable: true
maxUnavailable:
type: integer
format: int64
x-dcl-go-name: MaxUnavailable
description: The maximum number of nodes that can be simultaneously
unavailable during the upgrade process. A node is considered
available if its status is Ready.
x-kubernetes-immutable: true
version:
type: string
x-dcl-go-name: Version
description: The version of the Kubernetes of this node.
x-kubernetes-immutable: true
notificationConfig:
type: object
x-dcl-go-name: NotificationConfig
x-dcl-go-type: ClusterNotificationConfig
description: Notification configuration of the cluster.
x-kubernetes-immutable: true
properties:
pubsub:
type: object
x-dcl-go-name: Pubsub
x-dcl-go-type: ClusterNotificationConfigPubsub
description: Notification config for Pub/Sub.
x-kubernetes-immutable: true
properties:
enabled:
type: boolean
x-dcl-go-name: Enabled
description: Enable notifications for Pub/Sub.
x-kubernetes-immutable: true
topic:
type: string
x-dcl-go-name: Topic
description: The desired Pub/Sub topic to which notifications will
be sent by GKE. Format is `projects/{project}/topics/{topic}`.
x-kubernetes-immutable: true
x-dcl-references:
- resource: Pubsub/Topic
field: selfLink
podSecurityPolicyConfig:
type: object
x-dcl-go-name: PodSecurityPolicyConfig
x-dcl-go-type: ClusterPodSecurityPolicyConfig
description: Configuration for the PodSecurityPolicy feature.
x-kubernetes-immutable: true
properties:
enabled:
type: boolean
x-dcl-go-name: Enabled
description: Enable the PodSecurityPolicy controller for this cluster.
If enabled, pods must be valid under a PodSecurityPolicy to be created.
x-kubernetes-immutable: true
privateCluster:
type: boolean
x-dcl-go-name: PrivateCluster
description: If this is a private cluster setup. Private clusters are clusters
that, by default have no external IP addresses on the nodes and where
nodes and the master communicate over private IP addresses. This field
is deprecated, use private_cluster_config.enable_private_nodes instead.
x-kubernetes-immutable: true
privateClusterConfig:
type: object
x-dcl-go-name: PrivateClusterConfig
x-dcl-go-type: ClusterPrivateClusterConfig
description: Configuration for a private cluster.
x-kubernetes-immutable: true
properties:
enablePrivateEndpoint:
type: boolean
x-dcl-go-name: EnablePrivateEndpoint
description: Whether the master's internal IP address is used as the
cluster endpoint.
x-kubernetes-immutable: true
enablePrivateNodes:
type: boolean
x-dcl-go-name: EnablePrivateNodes
description: Whether nodes have internal IP addresses only. If enabled,
all nodes are given only RFC 1918 private addresses and communicate
with the master via private networking.
x-kubernetes-immutable: true
masterGlobalAccessConfig:
type: object
x-dcl-go-name: MasterGlobalAccessConfig
x-dcl-go-type: ClusterPrivateClusterConfigMasterGlobalAccessConfig
description: Controls master global access settings.
x-kubernetes-immutable: true
properties:
enabled:
type: boolean
x-dcl-go-name: Enabled
description: Whenever master is accessible globally or not.
x-kubernetes-immutable: true
masterIPv4CidrBlock:
type: string
x-dcl-go-name: MasterIPv4CidrBlock
description: The IP range in CIDR notation to use for the hosted master
network. This range will be used for assigning internal IP addresses
to the master or set of masters, as well as the ILB VIP. This range
must not overlap with any other ranges in use within the cluster's
network.
x-kubernetes-immutable: true
peeringName:
type: string
x-dcl-go-name: PeeringName
readOnly: true
description: The peering name in the customer VPC used by this cluster.
x-kubernetes-immutable: true
privateEndpoint:
type: string
x-dcl-go-name: PrivateEndpoint
readOnly: true
description: The internal IP address of this cluster's master endpoint.
x-kubernetes-immutable: true
publicEndpoint:
type: string
x-dcl-go-name: PublicEndpoint
readOnly: true
description: The external IP address of this cluster's master endpoint.
x-kubernetes-immutable: true
project:
type: string
x-dcl-go-name: Project
description: The project id of the resource.
x-kubernetes-immutable: true
x-dcl-references:
- resource: Cloudresourcemanager/Project
field: name
parent: true
x-dcl-parameter: true
releaseChannel:
type: object
x-dcl-go-name: ReleaseChannel
x-dcl-go-type: ClusterReleaseChannel
description: Release channel configuration.
x-kubernetes-immutable: true
properties:
channel:
type: string
x-dcl-go-name: Channel
x-dcl-go-type: ClusterReleaseChannelChannelEnum
description: 'channel specifies which release channel the cluster is
subscribed to. Possible values: UNSPECIFIED, RAPID, REGULAR, STABLE'
x-kubernetes-immutable: true
enum:
- UNSPECIFIED
- RAPID
- REGULAR
- STABLE
resourceLabels:
type: object
additionalProperties:
type: string
x-dcl-go-name: ResourceLabels
description: The resource labels for the cluster to use to annotate any
related Google Compute Engine resources.
x-kubernetes-immutable: true
resourceUsageExportConfig:
type: object
x-dcl-go-name: ResourceUsageExportConfig
x-dcl-go-type: ClusterResourceUsageExportConfig
description: Configuration for exporting cluster resource usages.
x-kubernetes-immutable: true
properties:
bigqueryDestination:
type: object
x-dcl-go-name: BigqueryDestination
x-dcl-go-type: ClusterResourceUsageExportConfigBigqueryDestination
description: Configuration to use BigQuery as usage export destination.
x-kubernetes-immutable: true
properties:
datasetId:
type: string
x-dcl-go-name: DatasetId
description: The ID of a BigQuery dataset
x-kubernetes-immutable: true
x-dcl-references:
- resource: Bigquery/Dataset
field: name
consumptionMeteringConfig:
type: object
x-dcl-go-name: ConsumptionMeteringConfig
x-dcl-go-type: ClusterResourceUsageExportConfigConsumptionMeteringConfig
description: Configuration to enable resource consumption metering.
x-kubernetes-immutable: true
properties:
enabled:
type: boolean
x-dcl-go-name: Enabled
description: Whether to enable consumption metering for this cluster.
If enabled, a second BigQuery table will be created to hold resource
consumption records.
x-kubernetes-immutable: true
enableNetworkEgressMetering:
type: boolean
x-dcl-go-name: EnableNetworkEgressMetering
description: Whether to enable network egress metering for this cluster.
If enabled, a daemonset will be created in the cluster to meter network
egress traffic.
x-kubernetes-immutable: true
enableNetworkEgressMonitoring:
type: boolean
x-dcl-go-name: EnableNetworkEgressMonitoring
description: Whether to enable network egress metering for this cluster.
x-kubernetes-immutable: true
selfLink:
type: string
x-dcl-go-name: SelfLink
readOnly: true
description: Server-defined URL for the resource.
x-kubernetes-immutable: true
servicesIPv4Cidr:
type: string
x-dcl-go-name: ServicesIPv4Cidr
readOnly: true
description: The IP address range of the Kubernetes services in this cluster,
in CIDR notation (e.g. 1.2.3.4/29). Service addresses are typically put
in the last /16 from the container CIDR.
x-kubernetes-immutable: true
shieldedNodes:
type: object
x-dcl-go-name: ShieldedNodes
x-dcl-go-type: ClusterShieldedNodes
description: Configuration of Shielded Nodes feature.
properties:
enabled:
type: boolean
x-dcl-go-name: Enabled
description: Whether or not shielded nodes are enabled
status:
type: string
x-dcl-go-name: Status
readOnly: true
description: The current status of this cluster.
x-kubernetes-immutable: true
statusMessage:
type: string
x-dcl-go-name: StatusMessage
readOnly: true
description: Any message associated with the current status of this cluster
x-kubernetes-immutable: true
subnetwork:
type: string
x-dcl-go-name: Subnetwork
description: The name of the Google Compute Engine subnetwork to which the
cluster is connected.
x-kubernetes-immutable: true
x-dcl-references:
- resource: Compute/Subnetwork
field: name
tpuConfig:
type: object
x-dcl-go-name: TPUConfig
x-dcl-go-type: ClusterTPUConfig
description: Configuration for Cloud TPU support;
x-kubernetes-immutable: true
properties:
enabled:
type: boolean
x-dcl-go-name: Enabled
description: Whether Cloud TPU integration is enabled or not.
x-kubernetes-immutable: true
ipv4CidrBlock:
type: string
x-dcl-go-name: IPv4CidrBlock
description: IPv4 CIDR block reserved for Cloud TPU in the VPC.
x-kubernetes-immutable: true
useServiceNetworking:
type: boolean
x-dcl-go-name: UseServiceNetworking
description: Whether to use service networking for Cloud TPU or not.
x-kubernetes-immutable: true
tpuIPv4CidrBlock:
type: string
x-dcl-go-name: TPUIPv4CidrBlock
readOnly: true
description: The IP address range of the Cloud TPUs in this cluster, in
[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation
(e.g. `1.2.3.4/29`).
x-kubernetes-immutable: true
verticalPodAutoscaling:
type: object
x-dcl-go-name: VerticalPodAutoscaling
x-dcl-go-type: ClusterVerticalPodAutoscaling
description: Cluster-level Vertical Pod Autoscaling configuration.
properties:
enableExperimentalFeatures:
type: boolean
x-dcl-go-name: EnableExperimentalFeatures
description: Enables experimental features support for Vertical Pod
Autoscaling.
enabled:
type: boolean
x-dcl-go-name: Enabled
description: Whether or not vertical pod autoscaling is enabled
workloadIdentityConfig:
type: object
x-dcl-go-name: WorkloadIdentityConfig
x-dcl-go-type: ClusterWorkloadIdentityConfig
description: Configuration for the use of Kubernetes Service Accounts in
GCP IAM policies.
properties:
identityNamespace:
type: string
x-dcl-go-name: IdentityNamespace
description: IAM Identity Namespace to attach all Kubernetes Service
Accounts to.
identityProvider:
type: string
x-dcl-go-name: IdentityProvider
description: identity provider is the third party identity provider.
workloadPool:
type: string
x-dcl-go-name: WorkloadPool
description: The workload pool to attach all Kubernetes service accounts
to.