Google Cloud (GCP) Classic
Cluster
Manages a Google Kubernetes Engine (GKE) cluster. For more information see the official documentation and the API reference.
Warning: All arguments and attributes, including basic auth username and passwords as well as certificate outputs will be stored in the raw state as plaintext. Read more about secrets in state.
Example Usage
With A Separately Managed Node Pool (Recommended)
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var @default = new Gcp.ServiceAccount.Account("default", new Gcp.ServiceAccount.AccountArgs
{
AccountId = "service-account-id",
DisplayName = "Service Account",
});
var primary = new Gcp.Container.Cluster("primary", new Gcp.Container.ClusterArgs
{
Location = "us-central1",
RemoveDefaultNodePool = true,
InitialNodeCount = 1,
});
var primaryPreemptibleNodes = new Gcp.Container.NodePool("primaryPreemptibleNodes", new Gcp.Container.NodePoolArgs
{
Location = "us-central1",
Cluster = primary.Name,
NodeCount = 1,
NodeConfig = new Gcp.Container.Inputs.NodePoolNodeConfigArgs
{
Preemptible = true,
MachineType = "e2-medium",
ServiceAccount = @default.Email,
OauthScopes =
{
"https://www.googleapis.com/auth/cloud-platform",
},
},
});
}
}
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/serviceAccount"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := serviceAccount.NewAccount(ctx, "default", &serviceAccount.AccountArgs{
AccountId: pulumi.String("service-account-id"),
DisplayName: pulumi.String("Service Account"),
})
if err != nil {
return err
}
primary, err := container.NewCluster(ctx, "primary", &container.ClusterArgs{
Location: pulumi.String("us-central1"),
RemoveDefaultNodePool: pulumi.Bool(true),
InitialNodeCount: pulumi.Int(1),
})
if err != nil {
return err
}
_, err = container.NewNodePool(ctx, "primaryPreemptibleNodes", &container.NodePoolArgs{
Location: pulumi.String("us-central1"),
Cluster: primary.Name,
NodeCount: pulumi.Int(1),
NodeConfig: &container.NodePoolNodeConfigArgs{
Preemptible: pulumi.Bool(true),
MachineType: pulumi.String("e2-medium"),
ServiceAccount: _default.Email,
OauthScopes: pulumi.StringArray{
pulumi.String("https://www.googleapis.com/auth/cloud-platform"),
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import java.util.*;
import java.io.*;
import java.nio.*;
import com.pulumi.*;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var default_ = new Account("default", AccountArgs.builder()
.accountId("service-account-id")
.displayName("Service Account")
.build());
var primary = new Cluster("primary", ClusterArgs.builder()
.location("us-central1")
.removeDefaultNodePool(true)
.initialNodeCount(1)
.build());
var primaryPreemptibleNodes = new NodePool("primaryPreemptibleNodes", NodePoolArgs.builder()
.location("us-central1")
.cluster(primary.getName())
.nodeCount(1)
.nodeConfig(NodePoolNodeConfig.builder()
.preemptible(true)
.machineType("e2-medium")
.serviceAccount(default_.getEmail())
.oauthScopes("https://www.googleapis.com/auth/cloud-platform")
.build())
.build());
}
}
import pulumi
import pulumi_gcp as gcp
default = gcp.service_account.Account("default",
account_id="service-account-id",
display_name="Service Account")
primary = gcp.container.Cluster("primary",
location="us-central1",
remove_default_node_pool=True,
initial_node_count=1)
primary_preemptible_nodes = gcp.container.NodePool("primaryPreemptibleNodes",
location="us-central1",
cluster=primary.name,
node_count=1,
node_config=gcp.container.NodePoolNodeConfigArgs(
preemptible=True,
machine_type="e2-medium",
service_account=default.email,
oauth_scopes=["https://www.googleapis.com/auth/cloud-platform"],
))
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const _default = new gcp.serviceaccount.Account("default", {
accountId: "service-account-id",
displayName: "Service Account",
});
const primary = new gcp.container.Cluster("primary", {
location: "us-central1",
removeDefaultNodePool: true,
initialNodeCount: 1,
});
const primaryPreemptibleNodes = new gcp.container.NodePool("primaryPreemptibleNodes", {
location: "us-central1",
cluster: primary.name,
nodeCount: 1,
nodeConfig: {
preemptible: true,
machineType: "e2-medium",
serviceAccount: _default.email,
oauthScopes: ["https://www.googleapis.com/auth/cloud-platform"],
},
});
resources:
default:
type: gcp:serviceAccount:Account
properties:
accountId: service-account-id
displayName: Service Account
primary:
type: gcp:container:Cluster
properties:
location: us-central1
removeDefaultNodePool: true
initialNodeCount: 1
primaryPreemptibleNodes:
type: gcp:container:NodePool
properties:
location: us-central1
cluster: ${primary.name}
nodeCount: 1
nodeConfig:
preemptible: true
machineType: e2-medium
serviceAccount: ${default.email}
oauthScopes:
- https://www.googleapis.com/auth/cloud-platform
With The Default Node Pool
Coming soon!
Coming soon!
package generated_program;
import java.util.*;
import java.io.*;
import java.nio.*;
import com.pulumi.*;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var default_ = new Account("default", AccountArgs.builder()
.accountId("service-account-id")
.displayName("Service Account")
.build());
var primary = new Cluster("primary", ClusterArgs.builder()
.location("us-central1-a")
.initialNodeCount(3)
.nodeConfig(ClusterNodeConfig.builder()
.serviceAccount(default_.getEmail())
.oauthScopes("https://www.googleapis.com/auth/cloud-platform")
.labels(Map.of("foo", "bar"))
.tags(
"foo",
"bar")
.build())
.timeouts(Map.ofEntries(
Map.entry("create", "30m"),
Map.entry("update", "40m")
))
.build());
}
}
Coming soon!
Coming soon!
resources:
default:
type: gcp:serviceAccount:Account
properties:
accountId: service-account-id
displayName: Service Account
primary:
type: gcp:container:Cluster
properties:
location: us-central1-a
initialNodeCount: 3
nodeConfig:
serviceAccount: ${default.email}
oauthScopes:
- https://www.googleapis.com/auth/cloud-platform
labels:
foo: bar
tags:
- foo
- bar
timeouts:
- create: 30m
update: 40m
Autopilot
using Pulumi;
using Gcp = Pulumi.Gcp;
class MyStack : Stack
{
public MyStack()
{
var @default = new Gcp.ServiceAccount.Account("default", new Gcp.ServiceAccount.AccountArgs
{
AccountId = "service-account-id",
DisplayName = "Service Account",
});
var primary = new Gcp.Container.Cluster("primary", new Gcp.Container.ClusterArgs
{
EnableAutopilot = true,
Location = "us-central1-a",
});
}
}
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/container"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/serviceAccount"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := serviceAccount.NewAccount(ctx, "default", &serviceAccount.AccountArgs{
AccountId: pulumi.String("service-account-id"),
DisplayName: pulumi.String("Service Account"),
})
if err != nil {
return err
}
_, err = container.NewCluster(ctx, "primary", &container.ClusterArgs{
EnableAutopilot: pulumi.Bool(true),
Location: pulumi.String("us-central1-a"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import java.util.*;
import java.io.*;
import java.nio.*;
import com.pulumi.*;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var default_ = new Account("default", AccountArgs.builder()
.accountId("service-account-id")
.displayName("Service Account")
.build());
var primary = new Cluster("primary", ClusterArgs.builder()
.enableAutopilot(true)
.location("us-central1-a")
.build());
}
}
import pulumi
import pulumi_gcp as gcp
default = gcp.service_account.Account("default",
account_id="service-account-id",
display_name="Service Account")
primary = gcp.container.Cluster("primary",
enable_autopilot=True,
location="us-central1-a")
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const defaultAccount = new gcp.serviceAccount.Account("default", {
accountId: "service-account-id",
displayName: "Service Account",
});
const primary = new gcp.container.Cluster("primary", {
enableAutopilot: true,
location: "us-central1-a",
}, { timeouts: {
create: "30m",
update: "40m",
} });
resources:
default:
type: gcp:serviceAccount:Account
properties:
accountId: service-account-id
displayName: Service Account
primary:
type: gcp:container:Cluster
properties:
enableAutopilot: true
location: us-central1-a
Create a Cluster Resource
new Cluster(name: string, args?: ClusterArgs, opts?: CustomResourceOptions);
@overload
def Cluster(resource_name: str,
opts: Optional[ResourceOptions] = None,
addons_config: Optional[ClusterAddonsConfigArgs] = None,
authenticator_groups_config: Optional[ClusterAuthenticatorGroupsConfigArgs] = None,
cluster_autoscaling: Optional[ClusterClusterAutoscalingArgs] = None,
cluster_ipv4_cidr: Optional[str] = None,
cluster_telemetry: Optional[ClusterClusterTelemetryArgs] = None,
confidential_nodes: Optional[ClusterConfidentialNodesArgs] = None,
database_encryption: Optional[ClusterDatabaseEncryptionArgs] = None,
datapath_provider: Optional[str] = None,
default_max_pods_per_node: Optional[int] = None,
default_snat_status: Optional[ClusterDefaultSnatStatusArgs] = None,
description: Optional[str] = None,
dns_config: Optional[ClusterDnsConfigArgs] = None,
enable_autopilot: Optional[bool] = None,
enable_binary_authorization: Optional[bool] = None,
enable_intranode_visibility: Optional[bool] = None,
enable_kubernetes_alpha: Optional[bool] = None,
enable_l4_ilb_subsetting: Optional[bool] = None,
enable_legacy_abac: Optional[bool] = None,
enable_shielded_nodes: Optional[bool] = None,
enable_tpu: Optional[bool] = None,
identity_service_config: Optional[ClusterIdentityServiceConfigArgs] = None,
initial_node_count: Optional[int] = None,
ip_allocation_policy: Optional[ClusterIpAllocationPolicyArgs] = None,
location: Optional[str] = None,
logging_config: Optional[ClusterLoggingConfigArgs] = None,
logging_service: Optional[str] = None,
maintenance_policy: Optional[ClusterMaintenancePolicyArgs] = None,
master_auth: Optional[ClusterMasterAuthArgs] = None,
master_authorized_networks_config: Optional[ClusterMasterAuthorizedNetworksConfigArgs] = None,
min_master_version: Optional[str] = None,
monitoring_config: Optional[ClusterMonitoringConfigArgs] = None,
monitoring_service: Optional[str] = None,
name: Optional[str] = None,
network: Optional[str] = None,
network_policy: Optional[ClusterNetworkPolicyArgs] = None,
networking_mode: Optional[str] = None,
node_config: Optional[ClusterNodeConfigArgs] = None,
node_locations: Optional[Sequence[str]] = None,
node_pools: Optional[Sequence[ClusterNodePoolArgs]] = None,
node_version: Optional[str] = None,
notification_config: Optional[ClusterNotificationConfigArgs] = None,
pod_security_policy_config: Optional[ClusterPodSecurityPolicyConfigArgs] = None,
private_cluster_config: Optional[ClusterPrivateClusterConfigArgs] = None,
private_ipv6_google_access: Optional[str] = None,
project: Optional[str] = None,
release_channel: Optional[ClusterReleaseChannelArgs] = None,
remove_default_node_pool: Optional[bool] = None,
resource_labels: Optional[Mapping[str, str]] = None,
resource_usage_export_config: Optional[ClusterResourceUsageExportConfigArgs] = None,
subnetwork: Optional[str] = None,
vertical_pod_autoscaling: Optional[ClusterVerticalPodAutoscalingArgs] = None,
workload_identity_config: Optional[ClusterWorkloadIdentityConfigArgs] = None)
@overload
def Cluster(resource_name: str,
args: Optional[ClusterArgs] = None,
opts: Optional[ResourceOptions] = None)
func NewCluster(ctx *Context, name string, args *ClusterArgs, opts ...ResourceOption) (*Cluster, error)
public Cluster(string name, ClusterArgs? args = null, CustomResourceOptions? opts = null)
public Cluster(String name, ClusterArgs args)
public Cluster(String name, ClusterArgs args, CustomResourceOptions options)
type: gcp:container:Cluster
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Cluster Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The Cluster resource accepts the following input properties:
- Addons
Config ClusterAddons Config Args The configuration for addons supported by GKE. Structure is documented below.
- Authenticator
Groups ClusterConfig Authenticator Groups Config Args Configuration for the Google Groups for GKE feature. Structure is documented below.
- Cluster
Autoscaling ClusterCluster Autoscaling Args Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster's workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below.
- Cluster
Ipv4Cidr string The IP address range of the Kubernetes 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 in10.0.0.0/8
. This field will only work for routes-based clusters, whereip_allocation_policy
is not defined.- Cluster
Telemetry ClusterCluster Telemetry Args Configuration for ClusterTelemetry feature, Structure is documented below.
- Confidential
Nodes ClusterConfidential Nodes Args Configuration for Confidential Nodes feature. Structure is documented below documented below.
- Database
Encryption ClusterDatabase Encryption Args Structure is documented below.
- Datapath
Provider string The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation.
- Default
Max intPods Per Node The default maximum number of pods per node in this cluster. This doesn't work on "routes-based" clusters, clusters that don't have IP Aliasing enabled. See the official documentation for more information.
- Default
Snat ClusterStatus Default Snat Status Args GKE SNAT DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster, API doc. Structure is documented below
- Description string
Description of the cluster.
- Dns
Config ClusterDns Config Args Configuration for Using Cloud DNS for GKE. Structure is documented below.
- Enable
Autopilot bool Enable Autopilot for this cluster. Defaults to
false
. Note that when this option is enabled, certain features of Standard GKE are not available. See the official documentation for available features.- bool
Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.
- Enable
Intranode boolVisibility Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
- Enable
Kubernetes boolAlpha Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days.
- Enable
L4Ilb boolSubsetting Whether L4ILB Subsetting is enabled for this cluster.
- Enable
Legacy boolAbac 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. Defaults to
false
- Enable
Shielded boolNodes Enable Shielded Nodes features on all nodes in this cluster. Defaults to
true
.- Enable
Tpu bool Whether to enable Cloud TPU resources in this cluster. See the official documentation.
- Identity
Service ClusterConfig Identity Service Config Args . Structure is documented below.
- Initial
Node intCount The number of nodes to create in this cluster's default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_pool
is not set. If you're usinggcp.container.NodePool
objects with no default node pool, you'll need to set this to a value of at least1
, alongside settingremove_default_node_pool
totrue
.- Ip
Allocation ClusterPolicy Ip Allocation Policy Args Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below.
- Location string
The location (region or zone) in which the cluster master will be created, as well as the default node location. If you specify a zone (such as
us-central1-a
), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such asus-west1
), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well- Logging
Config ClusterLogging Config Args Logging configuration for the cluster. Structure is documented below.
- Logging
Service string The logging service that the cluster should write logs to. Available options include
logging.googleapis.com
(Legacy Stackdriver),logging.googleapis.com/kubernetes
(Stackdriver Kubernetes Engine Logging), andnone
. Defaults tologging.googleapis.com/kubernetes
- Maintenance
Policy ClusterMaintenance Policy Args The maintenance policy to use for the cluster. Structure is documented below.
- Master
Auth ClusterMaster Auth Args The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff unsetting your client cert, ensure you have the
container.clusters.getCredentials
permission. Structure is documented below.- Cluster
Master Authorized Networks Config Args The desired configuration options for master authorized networks. Omit the nested
cidr_blocks
attribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists). Structure is documented below.- Min
Master stringVersion The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version--use the read-only
master_version
field to obtain that. If unset, the cluster's version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version). Most users will find thegcp.container.getEngineVersions
data source useful - it indicates which versions are available. If you intend to specify versions manually, the docs describe the various acceptable formats for this field.- Monitoring
Config ClusterMonitoring Config Args Monitoring configuration for the cluster. Structure is documented below.
- Monitoring
Service string The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include
monitoring.googleapis.com
(Legacy Stackdriver),monitoring.googleapis.com/kubernetes
(Stackdriver Kubernetes Engine Monitoring), andnone
. Defaults tomonitoring.googleapis.com/kubernetes
- Name string
The name of the cluster, unique within the project and location.
- Network string
The name or self_link of the Google Compute Engine network to which the cluster is connected. For Shared VPC, set this to the self link of the shared network.
- Network
Policy ClusterNetwork Policy Args Configuration options for the NetworkPolicy feature. Structure is documented below.
- Networking
Mode string Determines whether alias IPs or routes will be used for pod IPs in the cluster. Options are
VPC_NATIVE
orROUTES
.VPC_NATIVE
enables IP aliasing, and requires theip_allocation_policy
block to be defined. By default, when this field is unspecified and noip_allocation_policy
blocks are set, GKE will create aROUTES
-based cluster.- Node
Config ClusterNode Config Args Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePool
or anode_pool
block; this configuration manages the default node pool, which isn't recommended to be used. Structure is documented below.- Node
Locations List<string> The list of zones in which the cluster's nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone.
- Node
Pools List<ClusterNode Pool Args> List of node pools associated with this cluster. See gcp.container.NodePool for schema. Warning: node pools defined inside a cluster can't be changed (or added/removed) after cluster creation without deleting and recreating the entire cluster. Unless you absolutely need the ability to say "these are the only node pools associated with this cluster", use the gcp.container.NodePool resource instead of this property.
- Node
Version string The Kubernetes version on the nodes. Must either be unset or set to the same value as
min_master_version
on create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. While a fuzzy version can be specified, it's recommended that you specify explicit versions as the provider will see spurious diffs when fuzzy versions are used. See thegcp.container.getEngineVersions
data source'sversion_prefix
field to approximate fuzzy versions. To update nodes in other node pools, use theversion
attribute on the node pool.- Notification
Config ClusterNotification Config Args Configuration for the cluster upgrade notifications feature. Structure is documented below.
- Pod
Security ClusterPolicy Config Pod Security Policy Config Args ) Configuration for the PodSecurityPolicy feature. Structure is documented below.
- Private
Cluster ClusterConfig Private Cluster Config Args Configuration for private clusters, clusters with private nodes. Structure is documented below.
- Private
Ipv6Google stringAccess 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).
- Project string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Release
Channel ClusterRelease Channel Args Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Selecting a new release channel for more details; the
gcp.container.getEngineVersions
datasource can provide the default version for a channel. Note that removing therelease_channel
field from your config will cause the provider to stop managing your cluster's release channel, but will not unenroll it. Instead, use the"UNSPECIFIED"
channel. Structure is documented below.- Remove
Default boolNode Pool If
true
, deletes the default node pool upon cluster creation. If you're usinggcp.container.NodePool
resources with no default node pool, this should be set totrue
, alongside settinginitial_node_count
to at least1
.- Resource
Labels Dictionary<string, string> The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
- Resource
Usage ClusterExport Config Resource Usage Export Config Args Configuration for the ResourceUsageExportConfig feature. Structure is documented below.
- Subnetwork string
The name or self_link of the Google Compute Engine subnetwork in which the cluster's instances are launched.
- Vertical
Pod ClusterAutoscaling Vertical Pod Autoscaling Args Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.
- Workload
Identity ClusterConfig Workload Identity Config Args Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.
- Addons
Config ClusterAddons Config Args The configuration for addons supported by GKE. Structure is documented below.
- Authenticator
Groups ClusterConfig Authenticator Groups Config Args Configuration for the Google Groups for GKE feature. Structure is documented below.
- Cluster
Autoscaling ClusterCluster Autoscaling Args Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster's workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below.
- Cluster
Ipv4Cidr string The IP address range of the Kubernetes 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 in10.0.0.0/8
. This field will only work for routes-based clusters, whereip_allocation_policy
is not defined.- Cluster
Telemetry ClusterCluster Telemetry Args Configuration for ClusterTelemetry feature, Structure is documented below.
- Confidential
Nodes ClusterConfidential Nodes Args Configuration for Confidential Nodes feature. Structure is documented below documented below.
- Database
Encryption ClusterDatabase Encryption Args Structure is documented below.
- Datapath
Provider string The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation.
- Default
Max intPods Per Node The default maximum number of pods per node in this cluster. This doesn't work on "routes-based" clusters, clusters that don't have IP Aliasing enabled. See the official documentation for more information.
- Default
Snat ClusterStatus Default Snat Status Args GKE SNAT DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster, API doc. Structure is documented below
- Description string
Description of the cluster.
- Dns
Config ClusterDns Config Args Configuration for Using Cloud DNS for GKE. Structure is documented below.
- Enable
Autopilot bool Enable Autopilot for this cluster. Defaults to
false
. Note that when this option is enabled, certain features of Standard GKE are not available. See the official documentation for available features.- bool
Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.
- Enable
Intranode boolVisibility Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
- Enable
Kubernetes boolAlpha Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days.
- Enable
L4Ilb boolSubsetting Whether L4ILB Subsetting is enabled for this cluster.
- Enable
Legacy boolAbac 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. Defaults to
false
- Enable
Shielded boolNodes Enable Shielded Nodes features on all nodes in this cluster. Defaults to
true
.- Enable
Tpu bool Whether to enable Cloud TPU resources in this cluster. See the official documentation.
- Identity
Service ClusterConfig Identity Service Config Args . Structure is documented below.
- Initial
Node intCount The number of nodes to create in this cluster's default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_pool
is not set. If you're usinggcp.container.NodePool
objects with no default node pool, you'll need to set this to a value of at least1
, alongside settingremove_default_node_pool
totrue
.- Ip
Allocation ClusterPolicy Ip Allocation Policy Args Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below.
- Location string
The location (region or zone) in which the cluster master will be created, as well as the default node location. If you specify a zone (such as
us-central1-a
), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such asus-west1
), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well- Logging
Config ClusterLogging Config Args Logging configuration for the cluster. Structure is documented below.
- Logging
Service string The logging service that the cluster should write logs to. Available options include
logging.googleapis.com
(Legacy Stackdriver),logging.googleapis.com/kubernetes
(Stackdriver Kubernetes Engine Logging), andnone
. Defaults tologging.googleapis.com/kubernetes
- Maintenance
Policy ClusterMaintenance Policy Args The maintenance policy to use for the cluster. Structure is documented below.
- Master
Auth ClusterMaster Auth Args The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff unsetting your client cert, ensure you have the
container.clusters.getCredentials
permission. Structure is documented below.- Cluster
Master Authorized Networks Config Args The desired configuration options for master authorized networks. Omit the nested
cidr_blocks
attribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists). Structure is documented below.- Min
Master stringVersion The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version--use the read-only
master_version
field to obtain that. If unset, the cluster's version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version). Most users will find thegcp.container.getEngineVersions
data source useful - it indicates which versions are available. If you intend to specify versions manually, the docs describe the various acceptable formats for this field.- Monitoring
Config ClusterMonitoring Config Args Monitoring configuration for the cluster. Structure is documented below.
- Monitoring
Service string The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include
monitoring.googleapis.com
(Legacy Stackdriver),monitoring.googleapis.com/kubernetes
(Stackdriver Kubernetes Engine Monitoring), andnone
. Defaults tomonitoring.googleapis.com/kubernetes
- Name string
The name of the cluster, unique within the project and location.
- Network string
The name or self_link of the Google Compute Engine network to which the cluster is connected. For Shared VPC, set this to the self link of the shared network.
- Network
Policy ClusterNetwork Policy Args Configuration options for the NetworkPolicy feature. Structure is documented below.
- Networking
Mode string Determines whether alias IPs or routes will be used for pod IPs in the cluster. Options are
VPC_NATIVE
orROUTES
.VPC_NATIVE
enables IP aliasing, and requires theip_allocation_policy
block to be defined. By default, when this field is unspecified and noip_allocation_policy
blocks are set, GKE will create aROUTES
-based cluster.- Node
Config ClusterNode Config Args Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePool
or anode_pool
block; this configuration manages the default node pool, which isn't recommended to be used. Structure is documented below.- Node
Locations []string The list of zones in which the cluster's nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone.
- Node
Pools []ClusterNode Pool Args List of node pools associated with this cluster. See gcp.container.NodePool for schema. Warning: node pools defined inside a cluster can't be changed (or added/removed) after cluster creation without deleting and recreating the entire cluster. Unless you absolutely need the ability to say "these are the only node pools associated with this cluster", use the gcp.container.NodePool resource instead of this property.
- Node
Version string The Kubernetes version on the nodes. Must either be unset or set to the same value as
min_master_version
on create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. While a fuzzy version can be specified, it's recommended that you specify explicit versions as the provider will see spurious diffs when fuzzy versions are used. See thegcp.container.getEngineVersions
data source'sversion_prefix
field to approximate fuzzy versions. To update nodes in other node pools, use theversion
attribute on the node pool.- Notification
Config ClusterNotification Config Args Configuration for the cluster upgrade notifications feature. Structure is documented below.
- Pod
Security ClusterPolicy Config Pod Security Policy Config Args ) Configuration for the PodSecurityPolicy feature. Structure is documented below.
- Private
Cluster ClusterConfig Private Cluster Config Args Configuration for private clusters, clusters with private nodes. Structure is documented below.
- Private
Ipv6Google stringAccess 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).
- Project string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Release
Channel ClusterRelease Channel Args Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Selecting a new release channel for more details; the
gcp.container.getEngineVersions
datasource can provide the default version for a channel. Note that removing therelease_channel
field from your config will cause the provider to stop managing your cluster's release channel, but will not unenroll it. Instead, use the"UNSPECIFIED"
channel. Structure is documented below.- Remove
Default boolNode Pool If
true
, deletes the default node pool upon cluster creation. If you're usinggcp.container.NodePool
resources with no default node pool, this should be set totrue
, alongside settinginitial_node_count
to at least1
.- Resource
Labels map[string]string The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
- Resource
Usage ClusterExport Config Resource Usage Export Config Args Configuration for the ResourceUsageExportConfig feature. Structure is documented below.
- Subnetwork string
The name or self_link of the Google Compute Engine subnetwork in which the cluster's instances are launched.
- Vertical
Pod ClusterAutoscaling Vertical Pod Autoscaling Args Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.
- Workload
Identity ClusterConfig Workload Identity Config Args Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.
- addons
Config ClusterAddons Config Args The configuration for addons supported by GKE. Structure is documented below.
- authenticator
Groups ClusterConfig Authenticator Groups Config Args Configuration for the Google Groups for GKE feature. Structure is documented below.
- cluster
Autoscaling ClusterCluster Autoscaling Args Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster's workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below.
- cluster
Ipv4Cidr String The IP address range of the Kubernetes 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 in10.0.0.0/8
. This field will only work for routes-based clusters, whereip_allocation_policy
is not defined.- cluster
Telemetry ClusterCluster Telemetry Args Configuration for ClusterTelemetry feature, Structure is documented below.
- confidential
Nodes ClusterConfidential Nodes Args Configuration for Confidential Nodes feature. Structure is documented below documented below.
- database
Encryption ClusterDatabase Encryption Args Structure is documented below.
- datapath
Provider String The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation.
- default
Max IntegerPods Per Node The default maximum number of pods per node in this cluster. This doesn't work on "routes-based" clusters, clusters that don't have IP Aliasing enabled. See the official documentation for more information.
- default
Snat ClusterStatus Default Snat Status Args GKE SNAT DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster, API doc. Structure is documented below
- description String
Description of the cluster.
- dns
Config ClusterDns Config Args Configuration for Using Cloud DNS for GKE. Structure is documented below.
- enable
Autopilot Boolean Enable Autopilot for this cluster. Defaults to
false
. Note that when this option is enabled, certain features of Standard GKE are not available. See the official documentation for available features.- Boolean
Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.
- enable
Intranode BooleanVisibility Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
- enable
Kubernetes BooleanAlpha Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days.
- enable
L4Ilb BooleanSubsetting Whether L4ILB Subsetting is enabled for this cluster.
- enable
Legacy BooleanAbac 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. Defaults to
false
- enable
Shielded BooleanNodes Enable Shielded Nodes features on all nodes in this cluster. Defaults to
true
.- enable
Tpu Boolean Whether to enable Cloud TPU resources in this cluster. See the official documentation.
- identity
Service ClusterConfig Identity Service Config Args . Structure is documented below.
- initial
Node IntegerCount The number of nodes to create in this cluster's default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_pool
is not set. If you're usinggcp.container.NodePool
objects with no default node pool, you'll need to set this to a value of at least1
, alongside settingremove_default_node_pool
totrue
.- ip
Allocation ClusterPolicy Ip Allocation Policy Args Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below.
- location String
The location (region or zone) in which the cluster master will be created, as well as the default node location. If you specify a zone (such as
us-central1-a
), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such asus-west1
), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well- logging
Config ClusterLogging Config Args Logging configuration for the cluster. Structure is documented below.
- logging
Service String The logging service that the cluster should write logs to. Available options include
logging.googleapis.com
(Legacy Stackdriver),logging.googleapis.com/kubernetes
(Stackdriver Kubernetes Engine Logging), andnone
. Defaults tologging.googleapis.com/kubernetes
- maintenance
Policy ClusterMaintenance Policy Args The maintenance policy to use for the cluster. Structure is documented below.
- master
Auth ClusterMaster Auth Args The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff unsetting your client cert, ensure you have the
container.clusters.getCredentials
permission. Structure is documented below.- Cluster
Master Authorized Networks Config Args The desired configuration options for master authorized networks. Omit the nested
cidr_blocks
attribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists). Structure is documented below.- min
Master StringVersion The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version--use the read-only
master_version
field to obtain that. If unset, the cluster's version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version). Most users will find thegcp.container.getEngineVersions
data source useful - it indicates which versions are available. If you intend to specify versions manually, the docs describe the various acceptable formats for this field.- monitoring
Config ClusterMonitoring Config Args Monitoring configuration for the cluster. Structure is documented below.
- monitoring
Service String The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include
monitoring.googleapis.com
(Legacy Stackdriver),monitoring.googleapis.com/kubernetes
(Stackdriver Kubernetes Engine Monitoring), andnone
. Defaults tomonitoring.googleapis.com/kubernetes
- name String
The name of the cluster, unique within the project and location.
- network String
The name or self_link of the Google Compute Engine network to which the cluster is connected. For Shared VPC, set this to the self link of the shared network.
- network
Policy ClusterNetwork Policy Args Configuration options for the NetworkPolicy feature. Structure is documented below.
- networking
Mode String Determines whether alias IPs or routes will be used for pod IPs in the cluster. Options are
VPC_NATIVE
orROUTES
.VPC_NATIVE
enables IP aliasing, and requires theip_allocation_policy
block to be defined. By default, when this field is unspecified and noip_allocation_policy
blocks are set, GKE will create aROUTES
-based cluster.- node
Config ClusterNode Config Args Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePool
or anode_pool
block; this configuration manages the default node pool, which isn't recommended to be used. Structure is documented below.- node
Locations List The list of zones in which the cluster's nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone.
- node
Pools ListNode Pool Args> List of node pools associated with this cluster. See gcp.container.NodePool for schema. Warning: node pools defined inside a cluster can't be changed (or added/removed) after cluster creation without deleting and recreating the entire cluster. Unless you absolutely need the ability to say "these are the only node pools associated with this cluster", use the gcp.container.NodePool resource instead of this property.
- node
Version String The Kubernetes version on the nodes. Must either be unset or set to the same value as
min_master_version
on create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. While a fuzzy version can be specified, it's recommended that you specify explicit versions as the provider will see spurious diffs when fuzzy versions are used. See thegcp.container.getEngineVersions
data source'sversion_prefix
field to approximate fuzzy versions. To update nodes in other node pools, use theversion
attribute on the node pool.- notification
Config ClusterNotification Config Args Configuration for the cluster upgrade notifications feature. Structure is documented below.
- pod
Security ClusterPolicy Config Pod Security Policy Config Args ) Configuration for the PodSecurityPolicy feature. Structure is documented below.
- private
Cluster ClusterConfig Private Cluster Config Args Configuration for private clusters, clusters with private nodes. Structure is documented below.
- private
Ipv6Google StringAccess 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).
- project String
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- release
Channel ClusterRelease Channel Args Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Selecting a new release channel for more details; the
gcp.container.getEngineVersions
datasource can provide the default version for a channel. Note that removing therelease_channel
field from your config will cause the provider to stop managing your cluster's release channel, but will not unenroll it. Instead, use the"UNSPECIFIED"
channel. Structure is documented below.- remove
Default BooleanNode Pool If
true
, deletes the default node pool upon cluster creation. If you're usinggcp.container.NodePool
resources with no default node pool, this should be set totrue
, alongside settinginitial_node_count
to at least1
.- resource
Labels Map The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
- resource
Usage ClusterExport Config Resource Usage Export Config Args Configuration for the ResourceUsageExportConfig feature. Structure is documented below.
- subnetwork String
The name or self_link of the Google Compute Engine subnetwork in which the cluster's instances are launched.
- vertical
Pod ClusterAutoscaling Vertical Pod Autoscaling Args Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.
- workload
Identity ClusterConfig Workload Identity Config Args Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.
- addons
Config ClusterAddons Config Args The configuration for addons supported by GKE. Structure is documented below.
- authenticator
Groups ClusterConfig Authenticator Groups Config Args Configuration for the Google Groups for GKE feature. Structure is documented below.
- cluster
Autoscaling ClusterCluster Autoscaling Args Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster's workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below.
- cluster
Ipv4Cidr string The IP address range of the Kubernetes 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 in10.0.0.0/8
. This field will only work for routes-based clusters, whereip_allocation_policy
is not defined.- cluster
Telemetry ClusterCluster Telemetry Args Configuration for ClusterTelemetry feature, Structure is documented below.
- confidential
Nodes ClusterConfidential Nodes Args Configuration for Confidential Nodes feature. Structure is documented below documented below.
- database
Encryption ClusterDatabase Encryption Args Structure is documented below.
- datapath
Provider string The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation.
- default
Max numberPods Per Node The default maximum number of pods per node in this cluster. This doesn't work on "routes-based" clusters, clusters that don't have IP Aliasing enabled. See the official documentation for more information.
- default
Snat ClusterStatus Default Snat Status Args GKE SNAT DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster, API doc. Structure is documented below
- description string
Description of the cluster.
- dns
Config ClusterDns Config Args Configuration for Using Cloud DNS for GKE. Structure is documented below.
- enable
Autopilot boolean Enable Autopilot for this cluster. Defaults to
false
. Note that when this option is enabled, certain features of Standard GKE are not available. See the official documentation for available features.- boolean
Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.
- enable
Intranode booleanVisibility Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
- enable
Kubernetes booleanAlpha Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days.
- enable
L4Ilb booleanSubsetting Whether L4ILB Subsetting is enabled for this cluster.
- enable
Legacy booleanAbac 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. Defaults to
false
- enable
Shielded booleanNodes Enable Shielded Nodes features on all nodes in this cluster. Defaults to
true
.- enable
Tpu boolean Whether to enable Cloud TPU resources in this cluster. See the official documentation.
- identity
Service ClusterConfig Identity Service Config Args . Structure is documented below.
- initial
Node numberCount The number of nodes to create in this cluster's default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_pool
is not set. If you're usinggcp.container.NodePool
objects with no default node pool, you'll need to set this to a value of at least1
, alongside settingremove_default_node_pool
totrue
.- ip
Allocation ClusterPolicy Ip Allocation Policy Args Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below.
- location string
The location (region or zone) in which the cluster master will be created, as well as the default node location. If you specify a zone (such as
us-central1-a
), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such asus-west1
), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well- logging
Config ClusterLogging Config Args Logging configuration for the cluster. Structure is documented below.
- logging
Service string The logging service that the cluster should write logs to. Available options include
logging.googleapis.com
(Legacy Stackdriver),logging.googleapis.com/kubernetes
(Stackdriver Kubernetes Engine Logging), andnone
. Defaults tologging.googleapis.com/kubernetes
- maintenance
Policy ClusterMaintenance Policy Args The maintenance policy to use for the cluster. Structure is documented below.
- master
Auth ClusterMaster Auth Args The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff unsetting your client cert, ensure you have the
container.clusters.getCredentials
permission. Structure is documented below.- Cluster
Master Authorized Networks Config Args The desired configuration options for master authorized networks. Omit the nested
cidr_blocks
attribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists). Structure is documented below.- min
Master stringVersion The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version--use the read-only
master_version
field to obtain that. If unset, the cluster's version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version). Most users will find thegcp.container.getEngineVersions
data source useful - it indicates which versions are available. If you intend to specify versions manually, the docs describe the various acceptable formats for this field.- monitoring
Config ClusterMonitoring Config Args Monitoring configuration for the cluster. Structure is documented below.
- monitoring
Service string The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include
monitoring.googleapis.com
(Legacy Stackdriver),monitoring.googleapis.com/kubernetes
(Stackdriver Kubernetes Engine Monitoring), andnone
. Defaults tomonitoring.googleapis.com/kubernetes
- name string
The name of the cluster, unique within the project and location.
- network string
The name or self_link of the Google Compute Engine network to which the cluster is connected. For Shared VPC, set this to the self link of the shared network.
- network
Policy ClusterNetwork Policy Args Configuration options for the NetworkPolicy feature. Structure is documented below.
- networking
Mode string Determines whether alias IPs or routes will be used for pod IPs in the cluster. Options are
VPC_NATIVE
orROUTES
.VPC_NATIVE
enables IP aliasing, and requires theip_allocation_policy
block to be defined. By default, when this field is unspecified and noip_allocation_policy
blocks are set, GKE will create aROUTES
-based cluster.- node
Config ClusterNode Config Args Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePool
or anode_pool
block; this configuration manages the default node pool, which isn't recommended to be used. Structure is documented below.- node
Locations string[] The list of zones in which the cluster's nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone.
- node
Pools ClusterNode Pool Args[] List of node pools associated with this cluster. See gcp.container.NodePool for schema. Warning: node pools defined inside a cluster can't be changed (or added/removed) after cluster creation without deleting and recreating the entire cluster. Unless you absolutely need the ability to say "these are the only node pools associated with this cluster", use the gcp.container.NodePool resource instead of this property.
- node
Version string The Kubernetes version on the nodes. Must either be unset or set to the same value as
min_master_version
on create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. While a fuzzy version can be specified, it's recommended that you specify explicit versions as the provider will see spurious diffs when fuzzy versions are used. See thegcp.container.getEngineVersions
data source'sversion_prefix
field to approximate fuzzy versions. To update nodes in other node pools, use theversion
attribute on the node pool.- notification
Config ClusterNotification Config Args Configuration for the cluster upgrade notifications feature. Structure is documented below.
- pod
Security ClusterPolicy Config Pod Security Policy Config Args ) Configuration for the PodSecurityPolicy feature. Structure is documented below.
- private
Cluster ClusterConfig Private Cluster Config Args Configuration for private clusters, clusters with private nodes. Structure is documented below.
- private
Ipv6Google stringAccess 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).
- project string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- release
Channel ClusterRelease Channel Args Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Selecting a new release channel for more details; the
gcp.container.getEngineVersions
datasource can provide the default version for a channel. Note that removing therelease_channel
field from your config will cause the provider to stop managing your cluster's release channel, but will not unenroll it. Instead, use the"UNSPECIFIED"
channel. Structure is documented below.- remove
Default booleanNode Pool If
true
, deletes the default node pool upon cluster creation. If you're usinggcp.container.NodePool
resources with no default node pool, this should be set totrue
, alongside settinginitial_node_count
to at least1
.- resource
Labels {[key: string]: string} The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
- resource
Usage ClusterExport Config Resource Usage Export Config Args Configuration for the ResourceUsageExportConfig feature. Structure is documented below.
- subnetwork string
The name or self_link of the Google Compute Engine subnetwork in which the cluster's instances are launched.
- vertical
Pod ClusterAutoscaling Vertical Pod Autoscaling Args Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.
- workload
Identity ClusterConfig Workload Identity Config Args Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.
- addons_
config ClusterAddons Config Args The configuration for addons supported by GKE. Structure is documented below.
- authenticator_
groups_ Clusterconfig Authenticator Groups Config Args Configuration for the Google Groups for GKE feature. Structure is documented below.
- cluster_
autoscaling ClusterCluster Autoscaling Args Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster's workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below.
- cluster_
ipv4_ strcidr The IP address range of the Kubernetes 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 in10.0.0.0/8
. This field will only work for routes-based clusters, whereip_allocation_policy
is not defined.- cluster_
telemetry ClusterCluster Telemetry Args Configuration for ClusterTelemetry feature, Structure is documented below.
- confidential_
nodes ClusterConfidential Nodes Args Configuration for Confidential Nodes feature. Structure is documented below documented below.
- database_
encryption ClusterDatabase Encryption Args Structure is documented below.
- datapath_
provider str The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation.
- default_
max_ intpods_ per_ node The default maximum number of pods per node in this cluster. This doesn't work on "routes-based" clusters, clusters that don't have IP Aliasing enabled. See the official documentation for more information.
- default_
snat_ Clusterstatus Default Snat Status Args GKE SNAT DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster, API doc. Structure is documented below
- description str
Description of the cluster.
- dns_
config ClusterDns Config Args Configuration for Using Cloud DNS for GKE. Structure is documented below.
- enable_
autopilot bool Enable Autopilot for this cluster. Defaults to
false
. Note that when this option is enabled, certain features of Standard GKE are not available. See the official documentation for available features.- bool
Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.
- enable_
intranode_ boolvisibility Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
- enable_
kubernetes_ boolalpha Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days.
- enable_
l4_ boolilb_ subsetting Whether L4ILB Subsetting is enabled for this cluster.
- enable_
legacy_ boolabac 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. Defaults to
false
- enable_
shielded_ boolnodes Enable Shielded Nodes features on all nodes in this cluster. Defaults to
true
.- enable_
tpu bool Whether to enable Cloud TPU resources in this cluster. See the official documentation.
- identity_
service_ Clusterconfig Identity Service Config Args . Structure is documented below.
- initial_
node_ intcount The number of nodes to create in this cluster's default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_pool
is not set. If you're usinggcp.container.NodePool
objects with no default node pool, you'll need to set this to a value of at least1
, alongside settingremove_default_node_pool
totrue
.- ip_
allocation_ Clusterpolicy Ip Allocation Policy Args Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below.
- location str
The location (region or zone) in which the cluster master will be created, as well as the default node location. If you specify a zone (such as
us-central1-a
), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such asus-west1
), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well- logging_
config ClusterLogging Config Args Logging configuration for the cluster. Structure is documented below.
- logging_
service str The logging service that the cluster should write logs to. Available options include
logging.googleapis.com
(Legacy Stackdriver),logging.googleapis.com/kubernetes
(Stackdriver Kubernetes Engine Logging), andnone
. Defaults tologging.googleapis.com/kubernetes
- maintenance_
policy ClusterMaintenance Policy Args The maintenance policy to use for the cluster. Structure is documented below.
- master_
auth ClusterMaster Auth Args The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff unsetting your client cert, ensure you have the
container.clusters.getCredentials
permission. Structure is documented below.- Cluster
Master Authorized Networks Config Args The desired configuration options for master authorized networks. Omit the nested
cidr_blocks
attribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists). Structure is documented below.- min_
master_ strversion The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version--use the read-only
master_version
field to obtain that. If unset, the cluster's version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version). Most users will find thegcp.container.getEngineVersions
data source useful - it indicates which versions are available. If you intend to specify versions manually, the docs describe the various acceptable formats for this field.- monitoring_
config ClusterMonitoring Config Args Monitoring configuration for the cluster. Structure is documented below.
- monitoring_
service str The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include
monitoring.googleapis.com
(Legacy Stackdriver),monitoring.googleapis.com/kubernetes
(Stackdriver Kubernetes Engine Monitoring), andnone
. Defaults tomonitoring.googleapis.com/kubernetes
- name str
The name of the cluster, unique within the project and location.
- network str
The name or self_link of the Google Compute Engine network to which the cluster is connected. For Shared VPC, set this to the self link of the shared network.
- network_
policy ClusterNetwork Policy Args Configuration options for the NetworkPolicy feature. Structure is documented below.
- networking_
mode str Determines whether alias IPs or routes will be used for pod IPs in the cluster. Options are
VPC_NATIVE
orROUTES
.VPC_NATIVE
enables IP aliasing, and requires theip_allocation_policy
block to be defined. By default, when this field is unspecified and noip_allocation_policy
blocks are set, GKE will create aROUTES
-based cluster.- node_
config ClusterNode Config Args Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePool
or anode_pool
block; this configuration manages the default node pool, which isn't recommended to be used. Structure is documented below.- node_
locations Sequence[str] The list of zones in which the cluster's nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone.
- node_
pools Sequence[ClusterNode Pool Args] List of node pools associated with this cluster. See gcp.container.NodePool for schema. Warning: node pools defined inside a cluster can't be changed (or added/removed) after cluster creation without deleting and recreating the entire cluster. Unless you absolutely need the ability to say "these are the only node pools associated with this cluster", use the gcp.container.NodePool resource instead of this property.
- node_
version str The Kubernetes version on the nodes. Must either be unset or set to the same value as
min_master_version
on create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. While a fuzzy version can be specified, it's recommended that you specify explicit versions as the provider will see spurious diffs when fuzzy versions are used. See thegcp.container.getEngineVersions
data source'sversion_prefix
field to approximate fuzzy versions. To update nodes in other node pools, use theversion
attribute on the node pool.- notification_
config ClusterNotification Config Args Configuration for the cluster upgrade notifications feature. Structure is documented below.
- pod_
security_ Clusterpolicy_ config Pod Security Policy Config Args ) Configuration for the PodSecurityPolicy feature. Structure is documented below.
- private_
cluster_ Clusterconfig Private Cluster Config Args Configuration for private clusters, clusters with private nodes. Structure is documented below.
- private_
ipv6_ strgoogle_ access 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).
- project str
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- release_
channel ClusterRelease Channel Args Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Selecting a new release channel for more details; the
gcp.container.getEngineVersions
datasource can provide the default version for a channel. Note that removing therelease_channel
field from your config will cause the provider to stop managing your cluster's release channel, but will not unenroll it. Instead, use the"UNSPECIFIED"
channel. Structure is documented below.- remove_
default_ boolnode_ pool If
true
, deletes the default node pool upon cluster creation. If you're usinggcp.container.NodePool
resources with no default node pool, this should be set totrue
, alongside settinginitial_node_count
to at least1
.- resource_
labels Mapping[str, str] The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
- resource_
usage_ Clusterexport_ config Resource Usage Export Config Args Configuration for the ResourceUsageExportConfig feature. Structure is documented below.
- subnetwork str
The name or self_link of the Google Compute Engine subnetwork in which the cluster's instances are launched.
- vertical_
pod_ Clusterautoscaling Vertical Pod Autoscaling Args Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.
- workload_
identity_ Clusterconfig Workload Identity Config Args Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.
- addons
Config Property Map The configuration for addons supported by GKE. Structure is documented below.
- authenticator
Groups Property MapConfig Configuration for the Google Groups for GKE feature. Structure is documented below.
- cluster
Autoscaling Property Map Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster's workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below.
- cluster
Ipv4Cidr String The IP address range of the Kubernetes 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 in10.0.0.0/8
. This field will only work for routes-based clusters, whereip_allocation_policy
is not defined.- cluster
Telemetry Property Map Configuration for ClusterTelemetry feature, Structure is documented below.
- confidential
Nodes Property Map Configuration for Confidential Nodes feature. Structure is documented below documented below.
- database
Encryption Property Map Structure is documented below.
- datapath
Provider String The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation.
- default
Max NumberPods Per Node The default maximum number of pods per node in this cluster. This doesn't work on "routes-based" clusters, clusters that don't have IP Aliasing enabled. See the official documentation for more information.
- default
Snat Property MapStatus GKE SNAT DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster, API doc. Structure is documented below
- description String
Description of the cluster.
- dns
Config Property Map Configuration for Using Cloud DNS for GKE. Structure is documented below.
- enable
Autopilot Boolean Enable Autopilot for this cluster. Defaults to
false
. Note that when this option is enabled, certain features of Standard GKE are not available. See the official documentation for available features.- Boolean
Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.
- enable
Intranode BooleanVisibility Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
- enable
Kubernetes BooleanAlpha Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days.
- enable
L4Ilb BooleanSubsetting Whether L4ILB Subsetting is enabled for this cluster.
- enable
Legacy BooleanAbac 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. Defaults to
false
- enable
Shielded BooleanNodes Enable Shielded Nodes features on all nodes in this cluster. Defaults to
true
.- enable
Tpu Boolean Whether to enable Cloud TPU resources in this cluster. See the official documentation.
- identity
Service Property MapConfig . Structure is documented below.
- initial
Node NumberCount The number of nodes to create in this cluster's default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_pool
is not set. If you're usinggcp.container.NodePool
objects with no default node pool, you'll need to set this to a value of at least1
, alongside settingremove_default_node_pool
totrue
.- ip
Allocation Property MapPolicy Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below.
- location String
The location (region or zone) in which the cluster master will be created, as well as the default node location. If you specify a zone (such as
us-central1-a
), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such asus-west1
), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well- logging
Config Property Map Logging configuration for the cluster. Structure is documented below.
- logging
Service String The logging service that the cluster should write logs to. Available options include
logging.googleapis.com
(Legacy Stackdriver),logging.googleapis.com/kubernetes
(Stackdriver Kubernetes Engine Logging), andnone
. Defaults tologging.googleapis.com/kubernetes
- maintenance
Policy Property Map The maintenance policy to use for the cluster. Structure is documented below.
- master
Auth Property Map The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff unsetting your client cert, ensure you have the
container.clusters.getCredentials
permission. Structure is documented below.- Property Map
The desired configuration options for master authorized networks. Omit the nested
cidr_blocks
attribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists). Structure is documented below.- min
Master StringVersion The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version--use the read-only
master_version
field to obtain that. If unset, the cluster's version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version). Most users will find thegcp.container.getEngineVersions
data source useful - it indicates which versions are available. If you intend to specify versions manually, the docs describe the various acceptable formats for this field.- monitoring
Config Property Map Monitoring configuration for the cluster. Structure is documented below.
- monitoring
Service String The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include
monitoring.googleapis.com
(Legacy Stackdriver),monitoring.googleapis.com/kubernetes
(Stackdriver Kubernetes Engine Monitoring), andnone
. Defaults tomonitoring.googleapis.com/kubernetes
- name String
The name of the cluster, unique within the project and location.
- network String
The name or self_link of the Google Compute Engine network to which the cluster is connected. For Shared VPC, set this to the self link of the shared network.
- network
Policy Property Map Configuration options for the NetworkPolicy feature. Structure is documented below.
- networking
Mode String Determines whether alias IPs or routes will be used for pod IPs in the cluster. Options are
VPC_NATIVE
orROUTES
.VPC_NATIVE
enables IP aliasing, and requires theip_allocation_policy
block to be defined. By default, when this field is unspecified and noip_allocation_policy
blocks are set, GKE will create aROUTES
-based cluster.- node
Config Property Map Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePool
or anode_pool
block; this configuration manages the default node pool, which isn't recommended to be used. Structure is documented below.- node
Locations List The list of zones in which the cluster's nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone.
- node
Pools List List of node pools associated with this cluster. See gcp.container.NodePool for schema. Warning: node pools defined inside a cluster can't be changed (or added/removed) after cluster creation without deleting and recreating the entire cluster. Unless you absolutely need the ability to say "these are the only node pools associated with this cluster", use the gcp.container.NodePool resource instead of this property.
- node
Version String The Kubernetes version on the nodes. Must either be unset or set to the same value as
min_master_version
on create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. While a fuzzy version can be specified, it's recommended that you specify explicit versions as the provider will see spurious diffs when fuzzy versions are used. See thegcp.container.getEngineVersions
data source'sversion_prefix
field to approximate fuzzy versions. To update nodes in other node pools, use theversion
attribute on the node pool.- notification
Config Property Map Configuration for the cluster upgrade notifications feature. Structure is documented below.
- pod
Security Property MapPolicy Config ) Configuration for the PodSecurityPolicy feature. Structure is documented below.
- private
Cluster Property MapConfig Configuration for private clusters, clusters with private nodes. Structure is documented below.
- private
Ipv6Google StringAccess 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).
- project String
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- release
Channel Property Map Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Selecting a new release channel for more details; the
gcp.container.getEngineVersions
datasource can provide the default version for a channel. Note that removing therelease_channel
field from your config will cause the provider to stop managing your cluster's release channel, but will not unenroll it. Instead, use the"UNSPECIFIED"
channel. Structure is documented below.- remove
Default BooleanNode Pool If
true
, deletes the default node pool upon cluster creation. If you're usinggcp.container.NodePool
resources with no default node pool, this should be set totrue
, alongside settinginitial_node_count
to at least1
.- resource
Labels Map The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
- resource
Usage Property MapExport Config Configuration for the ResourceUsageExportConfig feature. Structure is documented below.
- subnetwork String
The name or self_link of the Google Compute Engine subnetwork in which the cluster's instances are launched.
- vertical
Pod Property MapAutoscaling Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.
- workload
Identity Property MapConfig Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.
Outputs
All input properties are implicitly available as output properties. Additionally, the Cluster resource produces the following output properties:
- Endpoint string
The IP address of this cluster's Kubernetes master.
- Id string
The provider-assigned unique ID for this managed resource.
- Label
Fingerprint string The fingerprint of the set of labels for this cluster.
- Master
Version string The current version of the master in the cluster. This may be different than the
min_master_version
set in the config if the master has been updated by GKE.- Operation string
- Self
Link string The server-defined URL for the resource.
- Services
Ipv4Cidr string 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.- Tpu
Ipv4Cidr stringBlock The IP address range of the Cloud TPUs in this cluster, in CIDR notation (e.g.
1.2.3.4/29
).
- Endpoint string
The IP address of this cluster's Kubernetes master.
- Id string
The provider-assigned unique ID for this managed resource.
- Label
Fingerprint string The fingerprint of the set of labels for this cluster.
- Master
Version string The current version of the master in the cluster. This may be different than the
min_master_version
set in the config if the master has been updated by GKE.- Operation string
- Self
Link string The server-defined URL for the resource.
- Services
Ipv4Cidr string 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.- Tpu
Ipv4Cidr stringBlock The IP address range of the Cloud TPUs in this cluster, in CIDR notation (e.g.
1.2.3.4/29
).
- endpoint String
The IP address of this cluster's Kubernetes master.
- id String
The provider-assigned unique ID for this managed resource.
- label
Fingerprint String The fingerprint of the set of labels for this cluster.
- master
Version String The current version of the master in the cluster. This may be different than the
min_master_version
set in the config if the master has been updated by GKE.- operation String
- self
Link String The server-defined URL for the resource.
- services
Ipv4Cidr String 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.- tpu
Ipv4Cidr StringBlock The IP address range of the Cloud TPUs in this cluster, in CIDR notation (e.g.
1.2.3.4/29
).
- endpoint string
The IP address of this cluster's Kubernetes master.
- id string
The provider-assigned unique ID for this managed resource.
- label
Fingerprint string The fingerprint of the set of labels for this cluster.
- master
Version string The current version of the master in the cluster. This may be different than the
min_master_version
set in the config if the master has been updated by GKE.- operation string
- self
Link string The server-defined URL for the resource.
- services
Ipv4Cidr string 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.- tpu
Ipv4Cidr stringBlock The IP address range of the Cloud TPUs in this cluster, in CIDR notation (e.g.
1.2.3.4/29
).
- endpoint str
The IP address of this cluster's Kubernetes master.
- id str
The provider-assigned unique ID for this managed resource.
- label_
fingerprint str The fingerprint of the set of labels for this cluster.
- master_
version str The current version of the master in the cluster. This may be different than the
min_master_version
set in the config if the master has been updated by GKE.- operation str
- self_
link str The server-defined URL for the resource.
- services_
ipv4_ strcidr 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.- tpu_
ipv4_ strcidr_ block The IP address range of the Cloud TPUs in this cluster, in CIDR notation (e.g.
1.2.3.4/29
).
- endpoint String
The IP address of this cluster's Kubernetes master.
- id String
The provider-assigned unique ID for this managed resource.
- label
Fingerprint String The fingerprint of the set of labels for this cluster.
- master
Version String The current version of the master in the cluster. This may be different than the
min_master_version
set in the config if the master has been updated by GKE.- operation String
- self
Link String The server-defined URL for the resource.
- services
Ipv4Cidr String 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.- tpu
Ipv4Cidr StringBlock The IP address range of the Cloud TPUs in this cluster, in CIDR notation (e.g.
1.2.3.4/29
).
Look up an Existing Cluster Resource
Get an existing Cluster resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: ClusterState, opts?: CustomResourceOptions): Cluster
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
addons_config: Optional[ClusterAddonsConfigArgs] = None,
authenticator_groups_config: Optional[ClusterAuthenticatorGroupsConfigArgs] = None,
cluster_autoscaling: Optional[ClusterClusterAutoscalingArgs] = None,
cluster_ipv4_cidr: Optional[str] = None,
cluster_telemetry: Optional[ClusterClusterTelemetryArgs] = None,
confidential_nodes: Optional[ClusterConfidentialNodesArgs] = None,
database_encryption: Optional[ClusterDatabaseEncryptionArgs] = None,
datapath_provider: Optional[str] = None,
default_max_pods_per_node: Optional[int] = None,
default_snat_status: Optional[ClusterDefaultSnatStatusArgs] = None,
description: Optional[str] = None,
dns_config: Optional[ClusterDnsConfigArgs] = None,
enable_autopilot: Optional[bool] = None,
enable_binary_authorization: Optional[bool] = None,
enable_intranode_visibility: Optional[bool] = None,
enable_kubernetes_alpha: Optional[bool] = None,
enable_l4_ilb_subsetting: Optional[bool] = None,
enable_legacy_abac: Optional[bool] = None,
enable_shielded_nodes: Optional[bool] = None,
enable_tpu: Optional[bool] = None,
endpoint: Optional[str] = None,
identity_service_config: Optional[ClusterIdentityServiceConfigArgs] = None,
initial_node_count: Optional[int] = None,
ip_allocation_policy: Optional[ClusterIpAllocationPolicyArgs] = None,
label_fingerprint: Optional[str] = None,
location: Optional[str] = None,
logging_config: Optional[ClusterLoggingConfigArgs] = None,
logging_service: Optional[str] = None,
maintenance_policy: Optional[ClusterMaintenancePolicyArgs] = None,
master_auth: Optional[ClusterMasterAuthArgs] = None,
master_authorized_networks_config: Optional[ClusterMasterAuthorizedNetworksConfigArgs] = None,
master_version: Optional[str] = None,
min_master_version: Optional[str] = None,
monitoring_config: Optional[ClusterMonitoringConfigArgs] = None,
monitoring_service: Optional[str] = None,
name: Optional[str] = None,
network: Optional[str] = None,
network_policy: Optional[ClusterNetworkPolicyArgs] = None,
networking_mode: Optional[str] = None,
node_config: Optional[ClusterNodeConfigArgs] = None,
node_locations: Optional[Sequence[str]] = None,
node_pools: Optional[Sequence[ClusterNodePoolArgs]] = None,
node_version: Optional[str] = None,
notification_config: Optional[ClusterNotificationConfigArgs] = None,
operation: Optional[str] = None,
pod_security_policy_config: Optional[ClusterPodSecurityPolicyConfigArgs] = None,
private_cluster_config: Optional[ClusterPrivateClusterConfigArgs] = None,
private_ipv6_google_access: Optional[str] = None,
project: Optional[str] = None,
release_channel: Optional[ClusterReleaseChannelArgs] = None,
remove_default_node_pool: Optional[bool] = None,
resource_labels: Optional[Mapping[str, str]] = None,
resource_usage_export_config: Optional[ClusterResourceUsageExportConfigArgs] = None,
self_link: Optional[str] = None,
services_ipv4_cidr: Optional[str] = None,
subnetwork: Optional[str] = None,
tpu_ipv4_cidr_block: Optional[str] = None,
vertical_pod_autoscaling: Optional[ClusterVerticalPodAutoscalingArgs] = None,
workload_identity_config: Optional[ClusterWorkloadIdentityConfigArgs] = None) -> Cluster
func GetCluster(ctx *Context, name string, id IDInput, state *ClusterState, opts ...ResourceOption) (*Cluster, error)
public static Cluster Get(string name, Input<string> id, ClusterState? state, CustomResourceOptions? opts = null)
public static Cluster get(String name, Output<String> id, ClusterState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Addons
Config ClusterAddons Config Args The configuration for addons supported by GKE. Structure is documented below.
- Authenticator
Groups ClusterConfig Authenticator Groups Config Args Configuration for the Google Groups for GKE feature. Structure is documented below.
- Cluster
Autoscaling ClusterCluster Autoscaling Args Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster's workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below.
- Cluster
Ipv4Cidr string The IP address range of the Kubernetes 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 in10.0.0.0/8
. This field will only work for routes-based clusters, whereip_allocation_policy
is not defined.- Cluster
Telemetry ClusterCluster Telemetry Args Configuration for ClusterTelemetry feature, Structure is documented below.
- Confidential
Nodes ClusterConfidential Nodes Args Configuration for Confidential Nodes feature. Structure is documented below documented below.
- Database
Encryption ClusterDatabase Encryption Args Structure is documented below.
- Datapath
Provider string The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation.
- Default
Max intPods Per Node The default maximum number of pods per node in this cluster. This doesn't work on "routes-based" clusters, clusters that don't have IP Aliasing enabled. See the official documentation for more information.
- Default
Snat ClusterStatus Default Snat Status Args GKE SNAT DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster, API doc. Structure is documented below
- Description string
Description of the cluster.
- Dns
Config ClusterDns Config Args Configuration for Using Cloud DNS for GKE. Structure is documented below.
- Enable
Autopilot bool Enable Autopilot for this cluster. Defaults to
false
. Note that when this option is enabled, certain features of Standard GKE are not available. See the official documentation for available features.- bool
Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.
- Enable
Intranode boolVisibility Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
- Enable
Kubernetes boolAlpha Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days.
- Enable
L4Ilb boolSubsetting Whether L4ILB Subsetting is enabled for this cluster.
- Enable
Legacy boolAbac 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. Defaults to
false
- Enable
Shielded boolNodes Enable Shielded Nodes features on all nodes in this cluster. Defaults to
true
.- Enable
Tpu bool Whether to enable Cloud TPU resources in this cluster. See the official documentation.
- Endpoint string
The IP address of this cluster's Kubernetes master.
- Identity
Service ClusterConfig Identity Service Config Args . Structure is documented below.
- Initial
Node intCount The number of nodes to create in this cluster's default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_pool
is not set. If you're usinggcp.container.NodePool
objects with no default node pool, you'll need to set this to a value of at least1
, alongside settingremove_default_node_pool
totrue
.- Ip
Allocation ClusterPolicy Ip Allocation Policy Args Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below.
- Label
Fingerprint string The fingerprint of the set of labels for this cluster.
- Location string
The location (region or zone) in which the cluster master will be created, as well as the default node location. If you specify a zone (such as
us-central1-a
), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such asus-west1
), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well- Logging
Config ClusterLogging Config Args Logging configuration for the cluster. Structure is documented below.
- Logging
Service string The logging service that the cluster should write logs to. Available options include
logging.googleapis.com
(Legacy Stackdriver),logging.googleapis.com/kubernetes
(Stackdriver Kubernetes Engine Logging), andnone
. Defaults tologging.googleapis.com/kubernetes
- Maintenance
Policy ClusterMaintenance Policy Args The maintenance policy to use for the cluster. Structure is documented below.
- Master
Auth ClusterMaster Auth Args The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff unsetting your client cert, ensure you have the
container.clusters.getCredentials
permission. Structure is documented below.- Cluster
Master Authorized Networks Config Args The desired configuration options for master authorized networks. Omit the nested
cidr_blocks
attribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists). Structure is documented below.- Master
Version string The current version of the master in the cluster. This may be different than the
min_master_version
set in the config if the master has been updated by GKE.- Min
Master stringVersion The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version--use the read-only
master_version
field to obtain that. If unset, the cluster's version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version). Most users will find thegcp.container.getEngineVersions
data source useful - it indicates which versions are available. If you intend to specify versions manually, the docs describe the various acceptable formats for this field.- Monitoring
Config ClusterMonitoring Config Args Monitoring configuration for the cluster. Structure is documented below.
- Monitoring
Service string The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include
monitoring.googleapis.com
(Legacy Stackdriver),monitoring.googleapis.com/kubernetes
(Stackdriver Kubernetes Engine Monitoring), andnone
. Defaults tomonitoring.googleapis.com/kubernetes
- Name string
The name of the cluster, unique within the project and location.
- Network string
The name or self_link of the Google Compute Engine network to which the cluster is connected. For Shared VPC, set this to the self link of the shared network.
- Network
Policy ClusterNetwork Policy Args Configuration options for the NetworkPolicy feature. Structure is documented below.
- Networking
Mode string Determines whether alias IPs or routes will be used for pod IPs in the cluster. Options are
VPC_NATIVE
orROUTES
.VPC_NATIVE
enables IP aliasing, and requires theip_allocation_policy
block to be defined. By default, when this field is unspecified and noip_allocation_policy
blocks are set, GKE will create aROUTES
-based cluster.- Node
Config ClusterNode Config Args Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePool
or anode_pool
block; this configuration manages the default node pool, which isn't recommended to be used. Structure is documented below.- Node
Locations List<string> The list of zones in which the cluster's nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone.
- Node
Pools List<ClusterNode Pool Args> List of node pools associated with this cluster. See gcp.container.NodePool for schema. Warning: node pools defined inside a cluster can't be changed (or added/removed) after cluster creation without deleting and recreating the entire cluster. Unless you absolutely need the ability to say "these are the only node pools associated with this cluster", use the gcp.container.NodePool resource instead of this property.
- Node
Version string The Kubernetes version on the nodes. Must either be unset or set to the same value as
min_master_version
on create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. While a fuzzy version can be specified, it's recommended that you specify explicit versions as the provider will see spurious diffs when fuzzy versions are used. See thegcp.container.getEngineVersions
data source'sversion_prefix
field to approximate fuzzy versions. To update nodes in other node pools, use theversion
attribute on the node pool.- Notification
Config ClusterNotification Config Args Configuration for the cluster upgrade notifications feature. Structure is documented below.
- Operation string
- Pod
Security ClusterPolicy Config Pod Security Policy Config Args ) Configuration for the PodSecurityPolicy feature. Structure is documented below.
- Private
Cluster ClusterConfig Private Cluster Config Args Configuration for private clusters, clusters with private nodes. Structure is documented below.
- Private
Ipv6Google stringAccess 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).
- Project string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Release
Channel ClusterRelease Channel Args Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Selecting a new release channel for more details; the
gcp.container.getEngineVersions
datasource can provide the default version for a channel. Note that removing therelease_channel
field from your config will cause the provider to stop managing your cluster's release channel, but will not unenroll it. Instead, use the"UNSPECIFIED"
channel. Structure is documented below.- Remove
Default boolNode Pool If
true
, deletes the default node pool upon cluster creation. If you're usinggcp.container.NodePool
resources with no default node pool, this should be set totrue
, alongside settinginitial_node_count
to at least1
.- Resource
Labels Dictionary<string, string> The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
- Resource
Usage ClusterExport Config Resource Usage Export Config Args Configuration for the ResourceUsageExportConfig feature. Structure is documented below.
- Self
Link string The server-defined URL for the resource.
- Services
Ipv4Cidr string 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.- Subnetwork string
The name or self_link of the Google Compute Engine subnetwork in which the cluster's instances are launched.
- Tpu
Ipv4Cidr stringBlock The IP address range of the Cloud TPUs in this cluster, in CIDR notation (e.g.
1.2.3.4/29
).- Vertical
Pod ClusterAutoscaling Vertical Pod Autoscaling Args Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.
- Workload
Identity ClusterConfig Workload Identity Config Args Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.
- Addons
Config ClusterAddons Config Args The configuration for addons supported by GKE. Structure is documented below.
- Authenticator
Groups ClusterConfig Authenticator Groups Config Args Configuration for the Google Groups for GKE feature. Structure is documented below.
- Cluster
Autoscaling ClusterCluster Autoscaling Args Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster's workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below.
- Cluster
Ipv4Cidr string The IP address range of the Kubernetes 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 in10.0.0.0/8
. This field will only work for routes-based clusters, whereip_allocation_policy
is not defined.- Cluster
Telemetry ClusterCluster Telemetry Args Configuration for ClusterTelemetry feature, Structure is documented below.
- Confidential
Nodes ClusterConfidential Nodes Args Configuration for Confidential Nodes feature. Structure is documented below documented below.
- Database
Encryption ClusterDatabase Encryption Args Structure is documented below.
- Datapath
Provider string The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation.
- Default
Max intPods Per Node The default maximum number of pods per node in this cluster. This doesn't work on "routes-based" clusters, clusters that don't have IP Aliasing enabled. See the official documentation for more information.
- Default
Snat ClusterStatus Default Snat Status Args GKE SNAT DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster, API doc. Structure is documented below
- Description string
Description of the cluster.
- Dns
Config ClusterDns Config Args Configuration for Using Cloud DNS for GKE. Structure is documented below.
- Enable
Autopilot bool Enable Autopilot for this cluster. Defaults to
false
. Note that when this option is enabled, certain features of Standard GKE are not available. See the official documentation for available features.- bool
Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.
- Enable
Intranode boolVisibility Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
- Enable
Kubernetes boolAlpha Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days.
- Enable
L4Ilb boolSubsetting Whether L4ILB Subsetting is enabled for this cluster.
- Enable
Legacy boolAbac 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. Defaults to
false
- Enable
Shielded boolNodes Enable Shielded Nodes features on all nodes in this cluster. Defaults to
true
.- Enable
Tpu bool Whether to enable Cloud TPU resources in this cluster. See the official documentation.
- Endpoint string
The IP address of this cluster's Kubernetes master.
- Identity
Service ClusterConfig Identity Service Config Args . Structure is documented below.
- Initial
Node intCount The number of nodes to create in this cluster's default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_pool
is not set. If you're usinggcp.container.NodePool
objects with no default node pool, you'll need to set this to a value of at least1
, alongside settingremove_default_node_pool
totrue
.- Ip
Allocation ClusterPolicy Ip Allocation Policy Args Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below.
- Label
Fingerprint string The fingerprint of the set of labels for this cluster.
- Location string
The location (region or zone) in which the cluster master will be created, as well as the default node location. If you specify a zone (such as
us-central1-a
), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such asus-west1
), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well- Logging
Config ClusterLogging Config Args Logging configuration for the cluster. Structure is documented below.
- Logging
Service string The logging service that the cluster should write logs to. Available options include
logging.googleapis.com
(Legacy Stackdriver),logging.googleapis.com/kubernetes
(Stackdriver Kubernetes Engine Logging), andnone
. Defaults tologging.googleapis.com/kubernetes
- Maintenance
Policy ClusterMaintenance Policy Args The maintenance policy to use for the cluster. Structure is documented below.
- Master
Auth ClusterMaster Auth Args The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff unsetting your client cert, ensure you have the
container.clusters.getCredentials
permission. Structure is documented below.- Cluster
Master Authorized Networks Config Args The desired configuration options for master authorized networks. Omit the nested
cidr_blocks
attribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists). Structure is documented below.- Master
Version string The current version of the master in the cluster. This may be different than the
min_master_version
set in the config if the master has been updated by GKE.- Min
Master stringVersion The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version--use the read-only
master_version
field to obtain that. If unset, the cluster's version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version). Most users will find thegcp.container.getEngineVersions
data source useful - it indicates which versions are available. If you intend to specify versions manually, the docs describe the various acceptable formats for this field.- Monitoring
Config ClusterMonitoring Config Args Monitoring configuration for the cluster. Structure is documented below.
- Monitoring
Service string The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include
monitoring.googleapis.com
(Legacy Stackdriver),monitoring.googleapis.com/kubernetes
(Stackdriver Kubernetes Engine Monitoring), andnone
. Defaults tomonitoring.googleapis.com/kubernetes
- Name string
The name of the cluster, unique within the project and location.
- Network string
The name or self_link of the Google Compute Engine network to which the cluster is connected. For Shared VPC, set this to the self link of the shared network.
- Network
Policy ClusterNetwork Policy Args Configuration options for the NetworkPolicy feature. Structure is documented below.
- Networking
Mode string Determines whether alias IPs or routes will be used for pod IPs in the cluster. Options are
VPC_NATIVE
orROUTES
.VPC_NATIVE
enables IP aliasing, and requires theip_allocation_policy
block to be defined. By default, when this field is unspecified and noip_allocation_policy
blocks are set, GKE will create aROUTES
-based cluster.- Node
Config ClusterNode Config Args Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePool
or anode_pool
block; this configuration manages the default node pool, which isn't recommended to be used. Structure is documented below.- Node
Locations []string The list of zones in which the cluster's nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone.
- Node
Pools []ClusterNode Pool Args List of node pools associated with this cluster. See gcp.container.NodePool for schema. Warning: node pools defined inside a cluster can't be changed (or added/removed) after cluster creation without deleting and recreating the entire cluster. Unless you absolutely need the ability to say "these are the only node pools associated with this cluster", use the gcp.container.NodePool resource instead of this property.
- Node
Version string The Kubernetes version on the nodes. Must either be unset or set to the same value as
min_master_version
on create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. While a fuzzy version can be specified, it's recommended that you specify explicit versions as the provider will see spurious diffs when fuzzy versions are used. See thegcp.container.getEngineVersions
data source'sversion_prefix
field to approximate fuzzy versions. To update nodes in other node pools, use theversion
attribute on the node pool.- Notification
Config ClusterNotification Config Args Configuration for the cluster upgrade notifications feature. Structure is documented below.
- Operation string
- Pod
Security ClusterPolicy Config Pod Security Policy Config Args ) Configuration for the PodSecurityPolicy feature. Structure is documented below.
- Private
Cluster ClusterConfig Private Cluster Config Args Configuration for private clusters, clusters with private nodes. Structure is documented below.
- Private
Ipv6Google stringAccess 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).
- Project string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Release
Channel ClusterRelease Channel Args Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Selecting a new release channel for more details; the
gcp.container.getEngineVersions
datasource can provide the default version for a channel. Note that removing therelease_channel
field from your config will cause the provider to stop managing your cluster's release channel, but will not unenroll it. Instead, use the"UNSPECIFIED"
channel. Structure is documented below.- Remove
Default boolNode Pool If
true
, deletes the default node pool upon cluster creation. If you're usinggcp.container.NodePool
resources with no default node pool, this should be set totrue
, alongside settinginitial_node_count
to at least1
.- Resource
Labels map[string]string The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
- Resource
Usage ClusterExport Config Resource Usage Export Config Args Configuration for the ResourceUsageExportConfig feature. Structure is documented below.
- Self
Link string The server-defined URL for the resource.
- Services
Ipv4Cidr string 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.- Subnetwork string
The name or self_link of the Google Compute Engine subnetwork in which the cluster's instances are launched.
- Tpu
Ipv4Cidr stringBlock The IP address range of the Cloud TPUs in this cluster, in CIDR notation (e.g.
1.2.3.4/29
).- Vertical
Pod ClusterAutoscaling Vertical Pod Autoscaling Args Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.
- Workload
Identity ClusterConfig Workload Identity Config Args Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.
- addons
Config ClusterAddons Config Args The configuration for addons supported by GKE. Structure is documented below.
- authenticator
Groups ClusterConfig Authenticator Groups Config Args Configuration for the Google Groups for GKE feature. Structure is documented below.
- cluster
Autoscaling ClusterCluster Autoscaling Args Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster's workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below.
- cluster
Ipv4Cidr String The IP address range of the Kubernetes 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 in10.0.0.0/8
. This field will only work for routes-based clusters, whereip_allocation_policy
is not defined.- cluster
Telemetry ClusterCluster Telemetry Args Configuration for ClusterTelemetry feature, Structure is documented below.
- confidential
Nodes ClusterConfidential Nodes Args Configuration for Confidential Nodes feature. Structure is documented below documented below.
- database
Encryption ClusterDatabase Encryption Args Structure is documented below.
- datapath
Provider String The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation.
- default
Max IntegerPods Per Node The default maximum number of pods per node in this cluster. This doesn't work on "routes-based" clusters, clusters that don't have IP Aliasing enabled. See the official documentation for more information.
- default
Snat ClusterStatus Default Snat Status Args GKE SNAT DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster, API doc. Structure is documented below
- description String
Description of the cluster.
- dns
Config ClusterDns Config Args Configuration for Using Cloud DNS for GKE. Structure is documented below.
- enable
Autopilot Boolean Enable Autopilot for this cluster. Defaults to
false
. Note that when this option is enabled, certain features of Standard GKE are not available. See the official documentation for available features.- Boolean
Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.
- enable
Intranode BooleanVisibility Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
- enable
Kubernetes BooleanAlpha Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days.
- enable
L4Ilb BooleanSubsetting Whether L4ILB Subsetting is enabled for this cluster.
- enable
Legacy BooleanAbac 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. Defaults to
false
- enable
Shielded BooleanNodes Enable Shielded Nodes features on all nodes in this cluster. Defaults to
true
.- enable
Tpu Boolean Whether to enable Cloud TPU resources in this cluster. See the official documentation.
- endpoint String
The IP address of this cluster's Kubernetes master.
- identity
Service ClusterConfig Identity Service Config Args . Structure is documented below.
- initial
Node IntegerCount The number of nodes to create in this cluster's default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_pool
is not set. If you're usinggcp.container.NodePool
objects with no default node pool, you'll need to set this to a value of at least1
, alongside settingremove_default_node_pool
totrue
.- ip
Allocation ClusterPolicy Ip Allocation Policy Args Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below.
- label
Fingerprint String The fingerprint of the set of labels for this cluster.
- location String
The location (region or zone) in which the cluster master will be created, as well as the default node location. If you specify a zone (such as
us-central1-a
), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such asus-west1
), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well- logging
Config ClusterLogging Config Args Logging configuration for the cluster. Structure is documented below.
- logging
Service String The logging service that the cluster should write logs to. Available options include
logging.googleapis.com
(Legacy Stackdriver),logging.googleapis.com/kubernetes
(Stackdriver Kubernetes Engine Logging), andnone
. Defaults tologging.googleapis.com/kubernetes
- maintenance
Policy ClusterMaintenance Policy Args The maintenance policy to use for the cluster. Structure is documented below.
- master
Auth ClusterMaster Auth Args The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff unsetting your client cert, ensure you have the
container.clusters.getCredentials
permission. Structure is documented below.- Cluster
Master Authorized Networks Config Args The desired configuration options for master authorized networks. Omit the nested
cidr_blocks
attribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists). Structure is documented below.- master
Version String The current version of the master in the cluster. This may be different than the
min_master_version
set in the config if the master has been updated by GKE.- min
Master StringVersion The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version--use the read-only
master_version
field to obtain that. If unset, the cluster's version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version). Most users will find thegcp.container.getEngineVersions
data source useful - it indicates which versions are available. If you intend to specify versions manually, the docs describe the various acceptable formats for this field.- monitoring
Config ClusterMonitoring Config Args Monitoring configuration for the cluster. Structure is documented below.
- monitoring
Service String The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include
monitoring.googleapis.com
(Legacy Stackdriver),monitoring.googleapis.com/kubernetes
(Stackdriver Kubernetes Engine Monitoring), andnone
. Defaults tomonitoring.googleapis.com/kubernetes
- name String
The name of the cluster, unique within the project and location.
- network String
The name or self_link of the Google Compute Engine network to which the cluster is connected. For Shared VPC, set this to the self link of the shared network.
- network
Policy ClusterNetwork Policy Args Configuration options for the NetworkPolicy feature. Structure is documented below.
- networking
Mode String Determines whether alias IPs or routes will be used for pod IPs in the cluster. Options are
VPC_NATIVE
orROUTES
.VPC_NATIVE
enables IP aliasing, and requires theip_allocation_policy
block to be defined. By default, when this field is unspecified and noip_allocation_policy
blocks are set, GKE will create aROUTES
-based cluster.- node
Config ClusterNode Config Args Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePool
or anode_pool
block; this configuration manages the default node pool, which isn't recommended to be used. Structure is documented below.- node
Locations List The list of zones in which the cluster's nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone.
- node
Pools ListNode Pool Args> List of node pools associated with this cluster. See gcp.container.NodePool for schema. Warning: node pools defined inside a cluster can't be changed (or added/removed) after cluster creation without deleting and recreating the entire cluster. Unless you absolutely need the ability to say "these are the only node pools associated with this cluster", use the gcp.container.NodePool resource instead of this property.
- node
Version String The Kubernetes version on the nodes. Must either be unset or set to the same value as
min_master_version
on create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. While a fuzzy version can be specified, it's recommended that you specify explicit versions as the provider will see spurious diffs when fuzzy versions are used. See thegcp.container.getEngineVersions
data source'sversion_prefix
field to approximate fuzzy versions. To update nodes in other node pools, use theversion
attribute on the node pool.- notification
Config ClusterNotification Config Args Configuration for the cluster upgrade notifications feature. Structure is documented below.
- operation String
- pod
Security ClusterPolicy Config Pod Security Policy Config Args ) Configuration for the PodSecurityPolicy feature. Structure is documented below.
- private
Cluster ClusterConfig Private Cluster Config Args Configuration for private clusters, clusters with private nodes. Structure is documented below.
- private
Ipv6Google StringAccess 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).
- project String
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- release
Channel ClusterRelease Channel Args Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Selecting a new release channel for more details; the
gcp.container.getEngineVersions
datasource can provide the default version for a channel. Note that removing therelease_channel
field from your config will cause the provider to stop managing your cluster's release channel, but will not unenroll it. Instead, use the"UNSPECIFIED"
channel. Structure is documented below.- remove
Default BooleanNode Pool If
true
, deletes the default node pool upon cluster creation. If you're usinggcp.container.NodePool
resources with no default node pool, this should be set totrue
, alongside settinginitial_node_count
to at least1
.- resource
Labels Map The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
- resource
Usage ClusterExport Config Resource Usage Export Config Args Configuration for the ResourceUsageExportConfig feature. Structure is documented below.
- self
Link String The server-defined URL for the resource.
- services
Ipv4Cidr String 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.- subnetwork String
The name or self_link of the Google Compute Engine subnetwork in which the cluster's instances are launched.
- tpu
Ipv4Cidr StringBlock The IP address range of the Cloud TPUs in this cluster, in CIDR notation (e.g.
1.2.3.4/29
).- vertical
Pod ClusterAutoscaling Vertical Pod Autoscaling Args Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.
- workload
Identity ClusterConfig Workload Identity Config Args Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.
- addons
Config ClusterAddons Config Args The configuration for addons supported by GKE. Structure is documented below.
- authenticator
Groups ClusterConfig Authenticator Groups Config Args Configuration for the Google Groups for GKE feature. Structure is documented below.
- cluster
Autoscaling ClusterCluster Autoscaling Args Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster's workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below.
- cluster
Ipv4Cidr string The IP address range of the Kubernetes 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 in10.0.0.0/8
. This field will only work for routes-based clusters, whereip_allocation_policy
is not defined.- cluster
Telemetry ClusterCluster Telemetry Args Configuration for ClusterTelemetry feature, Structure is documented below.
- confidential
Nodes ClusterConfidential Nodes Args Configuration for Confidential Nodes feature. Structure is documented below documented below.
- database
Encryption ClusterDatabase Encryption Args Structure is documented below.
- datapath
Provider string The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation.
- default
Max numberPods Per Node The default maximum number of pods per node in this cluster. This doesn't work on "routes-based" clusters, clusters that don't have IP Aliasing enabled. See the official documentation for more information.
- default
Snat ClusterStatus Default Snat Status Args GKE SNAT DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster, API doc. Structure is documented below
- description string
Description of the cluster.
- dns
Config ClusterDns Config Args Configuration for Using Cloud DNS for GKE. Structure is documented below.
- enable
Autopilot boolean Enable Autopilot for this cluster. Defaults to
false
. Note that when this option is enabled, certain features of Standard GKE are not available. See the official documentation for available features.- boolean
Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.
- enable
Intranode booleanVisibility Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
- enable
Kubernetes booleanAlpha Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days.
- enable
L4Ilb booleanSubsetting Whether L4ILB Subsetting is enabled for this cluster.
- enable
Legacy booleanAbac 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. Defaults to
false
- enable
Shielded booleanNodes Enable Shielded Nodes features on all nodes in this cluster. Defaults to
true
.- enable
Tpu boolean Whether to enable Cloud TPU resources in this cluster. See the official documentation.
- endpoint string
The IP address of this cluster's Kubernetes master.
- identity
Service ClusterConfig Identity Service Config Args . Structure is documented below.
- initial
Node numberCount The number of nodes to create in this cluster's default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_pool
is not set. If you're usinggcp.container.NodePool
objects with no default node pool, you'll need to set this to a value of at least1
, alongside settingremove_default_node_pool
totrue
.- ip
Allocation ClusterPolicy Ip Allocation Policy Args Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below.
- label
Fingerprint string The fingerprint of the set of labels for this cluster.
- location string
The location (region or zone) in which the cluster master will be created, as well as the default node location. If you specify a zone (such as
us-central1-a
), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such asus-west1
), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well- logging
Config ClusterLogging Config Args Logging configuration for the cluster. Structure is documented below.
- logging
Service string The logging service that the cluster should write logs to. Available options include
logging.googleapis.com
(Legacy Stackdriver),logging.googleapis.com/kubernetes
(Stackdriver Kubernetes Engine Logging), andnone
. Defaults tologging.googleapis.com/kubernetes
- maintenance
Policy ClusterMaintenance Policy Args The maintenance policy to use for the cluster. Structure is documented below.
- master
Auth ClusterMaster Auth Args The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff unsetting your client cert, ensure you have the
container.clusters.getCredentials
permission. Structure is documented below.- Cluster
Master Authorized Networks Config Args The desired configuration options for master authorized networks. Omit the nested
cidr_blocks
attribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists). Structure is documented below.- master
Version string The current version of the master in the cluster. This may be different than the
min_master_version
set in the config if the master has been updated by GKE.- min
Master stringVersion The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version--use the read-only
master_version
field to obtain that. If unset, the cluster's version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version). Most users will find thegcp.container.getEngineVersions
data source useful - it indicates which versions are available. If you intend to specify versions manually, the docs describe the various acceptable formats for this field.- monitoring
Config ClusterMonitoring Config Args Monitoring configuration for the cluster. Structure is documented below.
- monitoring
Service string The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include
monitoring.googleapis.com
(Legacy Stackdriver),monitoring.googleapis.com/kubernetes
(Stackdriver Kubernetes Engine Monitoring), andnone
. Defaults tomonitoring.googleapis.com/kubernetes
- name string
The name of the cluster, unique within the project and location.
- network string
The name or self_link of the Google Compute Engine network to which the cluster is connected. For Shared VPC, set this to the self link of the shared network.
- network
Policy ClusterNetwork Policy Args Configuration options for the NetworkPolicy feature. Structure is documented below.
- networking
Mode string Determines whether alias IPs or routes will be used for pod IPs in the cluster. Options are
VPC_NATIVE
orROUTES
.VPC_NATIVE
enables IP aliasing, and requires theip_allocation_policy
block to be defined. By default, when this field is unspecified and noip_allocation_policy
blocks are set, GKE will create aROUTES
-based cluster.- node
Config ClusterNode Config Args Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePool
or anode_pool
block; this configuration manages the default node pool, which isn't recommended to be used. Structure is documented below.- node
Locations string[] The list of zones in which the cluster's nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone.
- node
Pools ClusterNode Pool Args[] List of node pools associated with this cluster. See gcp.container.NodePool for schema. Warning: node pools defined inside a cluster can't be changed (or added/removed) after cluster creation without deleting and recreating the entire cluster. Unless you absolutely need the ability to say "these are the only node pools associated with this cluster", use the gcp.container.NodePool resource instead of this property.
- node
Version string The Kubernetes version on the nodes. Must either be unset or set to the same value as
min_master_version
on create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. While a fuzzy version can be specified, it's recommended that you specify explicit versions as the provider will see spurious diffs when fuzzy versions are used. See thegcp.container.getEngineVersions
data source'sversion_prefix
field to approximate fuzzy versions. To update nodes in other node pools, use theversion
attribute on the node pool.- notification
Config ClusterNotification Config Args Configuration for the cluster upgrade notifications feature. Structure is documented below.
- operation string
- pod
Security ClusterPolicy Config Pod Security Policy Config Args ) Configuration for the PodSecurityPolicy feature. Structure is documented below.
- private
Cluster ClusterConfig Private Cluster Config Args Configuration for private clusters, clusters with private nodes. Structure is documented below.
- private
Ipv6Google stringAccess 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).
- project string
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- release
Channel ClusterRelease Channel Args Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Selecting a new release channel for more details; the
gcp.container.getEngineVersions
datasource can provide the default version for a channel. Note that removing therelease_channel
field from your config will cause the provider to stop managing your cluster's release channel, but will not unenroll it. Instead, use the"UNSPECIFIED"
channel. Structure is documented below.- remove
Default booleanNode Pool If
true
, deletes the default node pool upon cluster creation. If you're usinggcp.container.NodePool
resources with no default node pool, this should be set totrue
, alongside settinginitial_node_count
to at least1
.- resource
Labels {[key: string]: string} The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
- resource
Usage ClusterExport Config Resource Usage Export Config Args Configuration for the ResourceUsageExportConfig feature. Structure is documented below.
- self
Link string The server-defined URL for the resource.
- services
Ipv4Cidr string 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.- subnetwork string
The name or self_link of the Google Compute Engine subnetwork in which the cluster's instances are launched.
- tpu
Ipv4Cidr stringBlock The IP address range of the Cloud TPUs in this cluster, in CIDR notation (e.g.
1.2.3.4/29
).- vertical
Pod ClusterAutoscaling Vertical Pod Autoscaling Args Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.
- workload
Identity ClusterConfig Workload Identity Config Args Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.
- addons_
config ClusterAddons Config Args The configuration for addons supported by GKE. Structure is documented below.
- authenticator_
groups_ Clusterconfig Authenticator Groups Config Args Configuration for the Google Groups for GKE feature. Structure is documented below.
- cluster_
autoscaling ClusterCluster Autoscaling Args Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster's workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below.
- cluster_
ipv4_ strcidr The IP address range of the Kubernetes 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 in10.0.0.0/8
. This field will only work for routes-based clusters, whereip_allocation_policy
is not defined.- cluster_
telemetry ClusterCluster Telemetry Args Configuration for ClusterTelemetry feature, Structure is documented below.
- confidential_
nodes ClusterConfidential Nodes Args Configuration for Confidential Nodes feature. Structure is documented below documented below.
- database_
encryption ClusterDatabase Encryption Args Structure is documented below.
- datapath_
provider str The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation.
- default_
max_ intpods_ per_ node The default maximum number of pods per node in this cluster. This doesn't work on "routes-based" clusters, clusters that don't have IP Aliasing enabled. See the official documentation for more information.
- default_
snat_ Clusterstatus Default Snat Status Args GKE SNAT DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster, API doc. Structure is documented below
- description str
Description of the cluster.
- dns_
config ClusterDns Config Args Configuration for Using Cloud DNS for GKE. Structure is documented below.
- enable_
autopilot bool Enable Autopilot for this cluster. Defaults to
false
. Note that when this option is enabled, certain features of Standard GKE are not available. See the official documentation for available features.- bool
Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.
- enable_
intranode_ boolvisibility Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
- enable_
kubernetes_ boolalpha Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days.
- enable_
l4_ boolilb_ subsetting Whether L4ILB Subsetting is enabled for this cluster.
- enable_
legacy_ boolabac 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. Defaults to
false
- enable_
shielded_ boolnodes Enable Shielded Nodes features on all nodes in this cluster. Defaults to
true
.- enable_
tpu bool Whether to enable Cloud TPU resources in this cluster. See the official documentation.
- endpoint str
The IP address of this cluster's Kubernetes master.
- identity_
service_ Clusterconfig Identity Service Config Args . Structure is documented below.
- initial_
node_ intcount The number of nodes to create in this cluster's default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_pool
is not set. If you're usinggcp.container.NodePool
objects with no default node pool, you'll need to set this to a value of at least1
, alongside settingremove_default_node_pool
totrue
.- ip_
allocation_ Clusterpolicy Ip Allocation Policy Args Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below.
- label_
fingerprint str The fingerprint of the set of labels for this cluster.
- location str
The location (region or zone) in which the cluster master will be created, as well as the default node location. If you specify a zone (such as
us-central1-a
), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such asus-west1
), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well- logging_
config ClusterLogging Config Args Logging configuration for the cluster. Structure is documented below.
- logging_
service str The logging service that the cluster should write logs to. Available options include
logging.googleapis.com
(Legacy Stackdriver),logging.googleapis.com/kubernetes
(Stackdriver Kubernetes Engine Logging), andnone
. Defaults tologging.googleapis.com/kubernetes
- maintenance_
policy ClusterMaintenance Policy Args The maintenance policy to use for the cluster. Structure is documented below.
- master_
auth ClusterMaster Auth Args The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff unsetting your client cert, ensure you have the
container.clusters.getCredentials
permission. Structure is documented below.- Cluster
Master Authorized Networks Config Args The desired configuration options for master authorized networks. Omit the nested
cidr_blocks
attribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists). Structure is documented below.- master_
version str The current version of the master in the cluster. This may be different than the
min_master_version
set in the config if the master has been updated by GKE.- min_
master_ strversion The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version--use the read-only
master_version
field to obtain that. If unset, the cluster's version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version). Most users will find thegcp.container.getEngineVersions
data source useful - it indicates which versions are available. If you intend to specify versions manually, the docs describe the various acceptable formats for this field.- monitoring_
config ClusterMonitoring Config Args Monitoring configuration for the cluster. Structure is documented below.
- monitoring_
service str The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include
monitoring.googleapis.com
(Legacy Stackdriver),monitoring.googleapis.com/kubernetes
(Stackdriver Kubernetes Engine Monitoring), andnone
. Defaults tomonitoring.googleapis.com/kubernetes
- name str
The name of the cluster, unique within the project and location.
- network str
The name or self_link of the Google Compute Engine network to which the cluster is connected. For Shared VPC, set this to the self link of the shared network.
- network_
policy ClusterNetwork Policy Args Configuration options for the NetworkPolicy feature. Structure is documented below.
- networking_
mode str Determines whether alias IPs or routes will be used for pod IPs in the cluster. Options are
VPC_NATIVE
orROUTES
.VPC_NATIVE
enables IP aliasing, and requires theip_allocation_policy
block to be defined. By default, when this field is unspecified and noip_allocation_policy
blocks are set, GKE will create aROUTES
-based cluster.- node_
config ClusterNode Config Args Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePool
or anode_pool
block; this configuration manages the default node pool, which isn't recommended to be used. Structure is documented below.- node_
locations Sequence[str] The list of zones in which the cluster's nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone.
- node_
pools Sequence[ClusterNode Pool Args] List of node pools associated with this cluster. See gcp.container.NodePool for schema. Warning: node pools defined inside a cluster can't be changed (or added/removed) after cluster creation without deleting and recreating the entire cluster. Unless you absolutely need the ability to say "these are the only node pools associated with this cluster", use the gcp.container.NodePool resource instead of this property.
- node_
version str The Kubernetes version on the nodes. Must either be unset or set to the same value as
min_master_version
on create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. While a fuzzy version can be specified, it's recommended that you specify explicit versions as the provider will see spurious diffs when fuzzy versions are used. See thegcp.container.getEngineVersions
data source'sversion_prefix
field to approximate fuzzy versions. To update nodes in other node pools, use theversion
attribute on the node pool.- notification_
config ClusterNotification Config Args Configuration for the cluster upgrade notifications feature. Structure is documented below.
- operation str
- pod_
security_ Clusterpolicy_ config Pod Security Policy Config Args ) Configuration for the PodSecurityPolicy feature. Structure is documented below.
- private_
cluster_ Clusterconfig Private Cluster Config Args Configuration for private clusters, clusters with private nodes. Structure is documented below.
- private_
ipv6_ strgoogle_ access 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).
- project str
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- release_
channel ClusterRelease Channel Args Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Selecting a new release channel for more details; the
gcp.container.getEngineVersions
datasource can provide the default version for a channel. Note that removing therelease_channel
field from your config will cause the provider to stop managing your cluster's release channel, but will not unenroll it. Instead, use the"UNSPECIFIED"
channel. Structure is documented below.- remove_
default_ boolnode_ pool If
true
, deletes the default node pool upon cluster creation. If you're usinggcp.container.NodePool
resources with no default node pool, this should be set totrue
, alongside settinginitial_node_count
to at least1
.- resource_
labels Mapping[str, str] The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
- resource_
usage_ Clusterexport_ config Resource Usage Export Config Args Configuration for the ResourceUsageExportConfig feature. Structure is documented below.
- self_
link str The server-defined URL for the resource.
- services_
ipv4_ strcidr 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.- subnetwork str
The name or self_link of the Google Compute Engine subnetwork in which the cluster's instances are launched.
- tpu_
ipv4_ strcidr_ block The IP address range of the Cloud TPUs in this cluster, in CIDR notation (e.g.
1.2.3.4/29
).- vertical_
pod_ Clusterautoscaling Vertical Pod Autoscaling Args Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.
- workload_
identity_ Clusterconfig Workload Identity Config Args Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.
- addons
Config Property Map The configuration for addons supported by GKE. Structure is documented below.
- authenticator
Groups Property MapConfig Configuration for the Google Groups for GKE feature. Structure is documented below.
- cluster
Autoscaling Property Map Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster's workload. See the guide to using Node Auto-Provisioning for more details. Structure is documented below.
- cluster
Ipv4Cidr String The IP address range of the Kubernetes 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 in10.0.0.0/8
. This field will only work for routes-based clusters, whereip_allocation_policy
is not defined.- cluster
Telemetry Property Map Configuration for ClusterTelemetry feature, Structure is documented below.
- confidential
Nodes Property Map Configuration for Confidential Nodes feature. Structure is documented below documented below.
- database
Encryption Property Map Structure is documented below.
- datapath
Provider String The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation.
- default
Max NumberPods Per Node The default maximum number of pods per node in this cluster. This doesn't work on "routes-based" clusters, clusters that don't have IP Aliasing enabled. See the official documentation for more information.
- default
Snat Property MapStatus GKE SNAT DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster, API doc. Structure is documented below
- description String
Description of the cluster.
- dns
Config Property Map Configuration for Using Cloud DNS for GKE. Structure is documented below.
- enable
Autopilot Boolean Enable Autopilot for this cluster. Defaults to
false
. Note that when this option is enabled, certain features of Standard GKE are not available. See the official documentation for available features.- Boolean
Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.
- enable
Intranode BooleanVisibility Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.
- enable
Kubernetes BooleanAlpha Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days.
- enable
L4Ilb BooleanSubsetting Whether L4ILB Subsetting is enabled for this cluster.
- enable
Legacy BooleanAbac 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. Defaults to
false
- enable
Shielded BooleanNodes Enable Shielded Nodes features on all nodes in this cluster. Defaults to
true
.- enable
Tpu Boolean Whether to enable Cloud TPU resources in this cluster. See the official documentation.
- endpoint String
The IP address of this cluster's Kubernetes master.
- identity
Service Property MapConfig . Structure is documented below.
- initial
Node NumberCount The number of nodes to create in this cluster's default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_pool
is not set. If you're usinggcp.container.NodePool
objects with no default node pool, you'll need to set this to a value of at least1
, alongside settingremove_default_node_pool
totrue
.- ip
Allocation Property MapPolicy Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based. Structure is documented below.
- label
Fingerprint String The fingerprint of the set of labels for this cluster.
- location String
The location (region or zone) in which the cluster master will be created, as well as the default node location. If you specify a zone (such as
us-central1-a
), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such asus-west1
), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well- logging
Config Property Map Logging configuration for the cluster. Structure is documented below.
- logging
Service String The logging service that the cluster should write logs to. Available options include
logging.googleapis.com
(Legacy Stackdriver),logging.googleapis.com/kubernetes
(Stackdriver Kubernetes Engine Logging), andnone
. Defaults tologging.googleapis.com/kubernetes
- maintenance
Policy Property Map The maintenance policy to use for the cluster. Structure is documented below.
- master
Auth Property Map The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff unsetting your client cert, ensure you have the
container.clusters.getCredentials
permission. Structure is documented below.- Property Map
The desired configuration options for master authorized networks. Omit the nested
cidr_blocks
attribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists). Structure is documented below.- master
Version String The current version of the master in the cluster. This may be different than the
min_master_version
set in the config if the master has been updated by GKE.- min
Master StringVersion The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version--use the read-only
master_version
field to obtain that. If unset, the cluster's version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version). Most users will find thegcp.container.getEngineVersions
data source useful - it indicates which versions are available. If you intend to specify versions manually, the docs describe the various acceptable formats for this field.- monitoring
Config Property Map Monitoring configuration for the cluster. Structure is documented below.
- monitoring
Service String The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include
monitoring.googleapis.com
(Legacy Stackdriver),monitoring.googleapis.com/kubernetes
(Stackdriver Kubernetes Engine Monitoring), andnone
. Defaults tomonitoring.googleapis.com/kubernetes
- name String
The name of the cluster, unique within the project and location.
- network String
The name or self_link of the Google Compute Engine network to which the cluster is connected. For Shared VPC, set this to the self link of the shared network.
- network
Policy Property Map Configuration options for the NetworkPolicy feature. Structure is documented below.
- networking
Mode String Determines whether alias IPs or routes will be used for pod IPs in the cluster. Options are
VPC_NATIVE
orROUTES
.VPC_NATIVE
enables IP aliasing, and requires theip_allocation_policy
block to be defined. By default, when this field is unspecified and noip_allocation_policy
blocks are set, GKE will create aROUTES
-based cluster.- node
Config Property Map Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePool
or anode_pool
block; this configuration manages the default node pool, which isn't recommended to be used. Structure is documented below.- node
Locations List The list of zones in which the cluster's nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone.
- node
Pools List List of node pools associated with this cluster. See gcp.container.NodePool for schema. Warning: node pools defined inside a cluster can't be changed (or added/removed) after cluster creation without deleting and recreating the entire cluster. Unless you absolutely need the ability to say "these are the only node pools associated with this cluster", use the gcp.container.NodePool resource instead of this property.
- node
Version String The Kubernetes version on the nodes. Must either be unset or set to the same value as
min_master_version
on create. Defaults to the default version set by GKE which is not necessarily the latest version. This only affects nodes in the default node pool. While a fuzzy version can be specified, it's recommended that you specify explicit versions as the provider will see spurious diffs when fuzzy versions are used. See thegcp.container.getEngineVersions
data source'sversion_prefix
field to approximate fuzzy versions. To update nodes in other node pools, use theversion
attribute on the node pool.- notification
Config Property Map Configuration for the cluster upgrade notifications feature. Structure is documented below.
- operation String
- pod
Security Property MapPolicy Config ) Configuration for the PodSecurityPolicy feature. Structure is documented below.
- private
Cluster Property MapConfig Configuration for private clusters, clusters with private nodes. Structure is documented below.
- private
Ipv6Google StringAccess 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).
- project String
The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- release
Channel Property Map Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. When updating this field, GKE imposes specific version requirements. See Selecting a new release channel for more details; the
gcp.container.getEngineVersions
datasource can provide the default version for a channel. Note that removing therelease_channel
field from your config will cause the provider to stop managing your cluster's release channel, but will not unenroll it. Instead, use the"UNSPECIFIED"
channel. Structure is documented below.- remove
Default BooleanNode Pool If
true
, deletes the default node pool upon cluster creation. If you're usinggcp.container.NodePool
resources with no default node pool, this should be set totrue
, alongside settinginitial_node_count
to at least1
.- resource
Labels Map The GCE resource labels (a map of key/value pairs) to be applied to the cluster.
- resource
Usage Property MapExport Config Configuration for the ResourceUsageExportConfig feature. Structure is documented below.
- self
Link String The server-defined URL for the resource.
- services
Ipv4Cidr String 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.- subnetwork String
The name or self_link of the Google Compute Engine subnetwork in which the cluster's instances are launched.
- tpu
Ipv4Cidr StringBlock The IP address range of the Cloud TPUs in this cluster, in CIDR notation (e.g.
1.2.3.4/29
).- vertical
Pod Property MapAutoscaling Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it. Structure is documented below.
- workload
Identity Property MapConfig Workload Identity allows Kubernetes service accounts to act as a user-managed Google IAM Service Account. Structure is documented below.
Supporting Types
ClusterAddonsConfig
- Cloudrun
Config ClusterAddons Config Cloudrun Config . Structure is documented below.
- Config
Connector ClusterConfig Addons Config Config Connector Config . The status of the ConfigConnector addon. It is disabled by default; Set
enabled = true
to enable.- Dns
Cache ClusterConfig Addons Config Dns Cache Config . The status of the NodeLocal DNSCache addon. It is disabled by default. Set
enabled = true
to enable.- Gce
Persistent ClusterDisk Csi Driver Config Addons Config Gce Persistent Disk Csi Driver Config . Whether this cluster should enable the Google Compute Engine Persistent Disk Container Storage Interface (CSI) Driver. Defaults to disabled; set
enabled = true
to enable.- Gcp
Filestore ClusterCsi Driver Config Addons Config Gcp Filestore Csi Driver Config The status of the Filestore CSI driver addon, which allows the usage of filestore instance as volumes. It is disabled by default; set
enabled = true
to enable.- Gke
Backup ClusterAgent Config Addons Config Gke Backup Agent Config ). The status of the Backup for GKE agent addon. It is disabled by default; Set
enabled = true
to enable.- Horizontal
Pod ClusterAutoscaling Addons Config Horizontal Pod Autoscaling The status of the Horizontal Pod Autoscaling addon, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. It is enabled by default; set
disabled = true
to disable.- Http
Load ClusterBalancing Addons Config Http Load Balancing The status of the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. It is enabled by default; set
disabled = true
to disable.- Istio
Config ClusterAddons Config Istio Config . Structure is documented below.
- Kalm
Config ClusterAddons Config Kalm Config . Configuration for the KALM addon, which manages the lifecycle of k8s. It is disabled by default; Set
enabled = true
to enable.- Network
Policy ClusterConfig Addons Config Network Policy Config Whether we should enable the network policy addon for the master. This must be enabled in order to enable network policy for the nodes. To enable this, you must also define a
network_policy
block, otherwise nothing will happen. It can only be disabled if the nodes already do not have network policies enabled. Defaults to disabled; setdisabled = false
to enable.
- Cloudrun
Config ClusterAddons Config Cloudrun Config . Structure is documented below.
- Config
Connector ClusterConfig Addons Config Config Connector Config . The status of the ConfigConnector addon. It is disabled by default; Set
enabled = true
to enable.- Dns
Cache ClusterConfig Addons Config Dns Cache Config . The status of the NodeLocal DNSCache addon. It is disabled by default. Set
enabled = true
to enable.- Gce
Persistent ClusterDisk Csi Driver Config Addons Config Gce Persistent Disk Csi Driver Config . Whether this cluster should enable the Google Compute Engine Persistent Disk Container Storage Interface (CSI) Driver. Defaults to disabled; set
enabled = true
to enable.- Gcp
Filestore ClusterCsi Driver Config Addons Config Gcp Filestore Csi Driver Config The status of the Filestore CSI driver addon, which allows the usage of filestore instance as volumes. It is disabled by default; set
enabled = true
to enable.- Gke
Backup ClusterAgent Config Addons Config Gke Backup Agent Config ). The status of the Backup for GKE agent addon. It is disabled by default; Set
enabled = true
to enable.- Horizontal
Pod ClusterAutoscaling Addons Config Horizontal Pod Autoscaling The status of the Horizontal Pod Autoscaling addon, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. It is enabled by default; set
disabled = true
to disable.- Http
Load ClusterBalancing Addons Config Http Load Balancing The status of the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. It is enabled by default; set
disabled = true
to disable.- Istio
Config ClusterAddons Config Istio Config . Structure is documented below.
- Kalm
Config ClusterAddons Config Kalm Config . Configuration for the KALM addon, which manages the lifecycle of k8s. It is disabled by default; Set
enabled = true
to enable.- Network
Policy ClusterConfig Addons Config Network Policy Config Whether we should enable the network policy addon for the master. This must be enabled in order to enable network policy for the nodes. To enable this, you must also define a
network_policy
block, otherwise nothing will happen. It can only be disabled if the nodes already do not have network policies enabled. Defaults to disabled; setdisabled = false
to enable.
- cloudrun
Config ClusterAddons Config Cloudrun Config . Structure is documented below.
- config
Connector ClusterConfig Addons Config Config Connector Config . The status of the ConfigConnector addon. It is disabled by default; Set
enabled = true
to enable.- dns
Cache ClusterConfig Addons Config Dns Cache Config . The status of the NodeLocal DNSCache addon. It is disabled by default. Set
enabled = true
to enable.- gce
Persistent ClusterDisk Csi Driver Config Addons Config Gce Persistent Disk Csi Driver Config . Whether this cluster should enable the Google Compute Engine Persistent Disk Container Storage Interface (CSI) Driver. Defaults to disabled; set
enabled = true
to enable.- gcp
Filestore ClusterCsi Driver Config Addons Config Gcp Filestore Csi Driver Config The status of the Filestore CSI driver addon, which allows the usage of filestore instance as volumes. It is disabled by default; set
enabled = true
to enable.- gke
Backup ClusterAgent Config Addons Config Gke Backup Agent Config ). The status of the Backup for GKE agent addon. It is disabled by default; Set
enabled = true
to enable.- horizontal
Pod ClusterAutoscaling Addons Config Horizontal Pod Autoscaling The status of the Horizontal Pod Autoscaling addon, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. It is enabled by default; set
disabled = true
to disable.- http
Load ClusterBalancing Addons Config Http Load Balancing The status of the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. It is enabled by default; set
disabled = true
to disable.- istio
Config ClusterAddons Config Istio Config . Structure is documented below.
- kalm
Config ClusterAddons Config Kalm Config . Configuration for the KALM addon, which manages the lifecycle of k8s. It is disabled by default; Set
enabled = true
to enable.- network
Policy ClusterConfig Addons Config Network Policy Config Whether we should enable the network policy addon for the master. This must be enabled in order to enable network policy for the nodes. To enable this, you must also define a
network_policy
block, otherwise nothing will happen. It can only be disabled if the nodes already do not have network policies enabled. Defaults to disabled; setdisabled = false
to enable.
- cloudrun
Config ClusterAddons Config Cloudrun Config . Structure is documented below.
- config
Connector ClusterConfig Addons Config Config Connector Config . The status of the ConfigConnector addon. It is disabled by default; Set
enabled = true
to enable.- dns
Cache ClusterConfig Addons Config Dns Cache Config . The status of the NodeLocal DNSCache addon. It is disabled by default. Set
enabled = true
to enable.- gce
Persistent ClusterDisk Csi Driver Config Addons Config Gce Persistent Disk Csi Driver Config . Whether this cluster should enable the Google Compute Engine Persistent Disk Container Storage Interface (CSI) Driver. Defaults to disabled; set
enabled = true
to enable.- gcp
Filestore ClusterCsi Driver Config Addons Config Gcp Filestore Csi Driver Config The status of the Filestore CSI driver addon, which allows the usage of filestore instance as volumes. It is disabled by default; set
enabled = true
to enable.- gke
Backup ClusterAgent Config Addons Config Gke Backup Agent Config ). The status of the Backup for GKE agent addon. It is disabled by default; Set
enabled = true
to enable.- horizontal
Pod ClusterAutoscaling Addons Config Horizontal Pod Autoscaling The status of the Horizontal Pod Autoscaling addon, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. It is enabled by default; set
disabled = true
to disable.- http
Load ClusterBalancing Addons Config Http Load Balancing The status of the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. It is enabled by default; set
disabled = true
to disable.- istio
Config ClusterAddons Config Istio Config . Structure is documented below.
- kalm
Config ClusterAddons Config Kalm Config . Configuration for the KALM addon, which manages the lifecycle of k8s. It is disabled by default; Set
enabled = true
to enable.- network
Policy ClusterConfig Addons Config Network Policy Config Whether we should enable the network policy addon for the master. This must be enabled in order to enable network policy for the nodes. To enable this, you must also define a
network_policy
block, otherwise nothing will happen. It can only be disabled if the nodes already do not have network policies enabled. Defaults to disabled; setdisabled = false
to enable.
- cloudrun_
config ClusterAddons Config Cloudrun Config . Structure is documented below.
- config_
connector_ Clusterconfig Addons Config Config Connector Config . The status of the ConfigConnector addon. It is disabled by default; Set
enabled = true
to enable.- dns_
cache_ Clusterconfig Addons Config Dns Cache Config . The status of the NodeLocal DNSCache addon. It is disabled by default. Set
enabled = true
to enable.- gce_
persistent_ Clusterdisk_ csi_ driver_ config Addons Config Gce Persistent Disk Csi Driver Config . Whether this cluster should enable the Google Compute Engine Persistent Disk Container Storage Interface (CSI) Driver. Defaults to disabled; set
enabled = true
to enable.- gcp_
filestore_ Clustercsi_ driver_ config Addons Config Gcp Filestore Csi Driver Config The status of the Filestore CSI driver addon, which allows the usage of filestore instance as volumes. It is disabled by default; set
enabled = true
to enable.- gke_
backup_ Clusteragent_ config Addons Config Gke Backup Agent Config ). The status of the Backup for GKE agent addon. It is disabled by default; Set
enabled = true
to enable.- horizontal_
pod_ Clusterautoscaling Addons Config Horizontal Pod Autoscaling The status of the Horizontal Pod Autoscaling addon, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. It is enabled by default; set
disabled = true
to disable.- http_
load_ Clusterbalancing Addons Config Http Load Balancing The status of the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. It is enabled by default; set
disabled = true
to disable.- istio_
config ClusterAddons Config Istio Config . Structure is documented below.
- kalm_
config ClusterAddons Config Kalm Config . Configuration for the KALM addon, which manages the lifecycle of k8s. It is disabled by default; Set
enabled = true
to enable.- network_
policy_ Clusterconfig Addons Config Network Policy Config Whether we should enable the network policy addon for the master. This must be enabled in order to enable network policy for the nodes. To enable this, you must also define a
network_policy
block, otherwise nothing will happen. It can only be disabled if the nodes already do not have network policies enabled. Defaults to disabled; setdisabled = false
to enable.
- cloudrun
Config Property Map . Structure is documented below.
- config
Connector Property MapConfig . The status of the ConfigConnector addon. It is disabled by default; Set
enabled = true
to enable.- dns
Cache Property MapConfig . The status of the NodeLocal DNSCache addon. It is disabled by default. Set
enabled = true
to enable.- gce
Persistent Property MapDisk Csi Driver Config . Whether this cluster should enable the Google Compute Engine Persistent Disk Container Storage Interface (CSI) Driver. Defaults to disabled; set
enabled = true
to enable.- gcp
Filestore Property MapCsi Driver Config The status of the Filestore CSI driver addon, which allows the usage of filestore instance as volumes. It is disabled by default; set
enabled = true
to enable.- gke
Backup Property MapAgent Config ). The status of the Backup for GKE agent addon. It is disabled by default; Set
enabled = true
to enable.- horizontal
Pod Property MapAutoscaling The status of the Horizontal Pod Autoscaling addon, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. It is enabled by default; set
disabled = true
to disable.- http
Load Property MapBalancing The status of the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. It is enabled by default; set
disabled = true
to disable.- istio
Config Property Map . Structure is documented below.
- kalm
Config Property Map . Configuration for the KALM addon, which manages the lifecycle of k8s. It is disabled by default; Set
enabled = true
to enable.- network
Policy Property MapConfig Whether we should enable the network policy addon for the master. This must be enabled in order to enable network policy for the nodes. To enable this, you must also define a
network_policy
block, otherwise nothing will happen. It can only be disabled if the nodes already do not have network policies enabled. Defaults to disabled; setdisabled = false
to enable.
ClusterAddonsConfigCloudrunConfig
- Disabled bool
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.- Load
Balancer stringType The load balancer type of CloudRun ingress service. It is external load balancer by default. Set
load_balancer_type=LOAD_BALANCER_TYPE_INTERNAL
to configure it as internal load balancer.
- Disabled bool
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.- Load
Balancer stringType The load balancer type of CloudRun ingress service. It is external load balancer by default. Set
load_balancer_type=LOAD_BALANCER_TYPE_INTERNAL
to configure it as internal load balancer.
- disabled Boolean
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.- load
Balancer StringType The load balancer type of CloudRun ingress service. It is external load balancer by default. Set
load_balancer_type=LOAD_BALANCER_TYPE_INTERNAL
to configure it as internal load balancer.
- disabled boolean
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.- load
Balancer stringType The load balancer type of CloudRun ingress service. It is external load balancer by default. Set
load_balancer_type=LOAD_BALANCER_TYPE_INTERNAL
to configure it as internal load balancer.
- disabled bool
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.- load_
balancer_ strtype The load balancer type of CloudRun ingress service. It is external load balancer by default. Set
load_balancer_type=LOAD_BALANCER_TYPE_INTERNAL
to configure it as internal load balancer.
- disabled Boolean
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.- load
Balancer StringType The load balancer type of CloudRun ingress service. It is external load balancer by default. Set
load_balancer_type=LOAD_BALANCER_TYPE_INTERNAL
to configure it as internal load balancer.
ClusterAddonsConfigConfigConnectorConfig
- Enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- Enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled Boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled Boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
ClusterAddonsConfigDnsCacheConfig
- Enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- Enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled Boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled Boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
ClusterAddonsConfigGcePersistentDiskCsiDriverConfig
- Enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- Enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled Boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled Boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
ClusterAddonsConfigGcpFilestoreCsiDriverConfig
- Enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- Enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled Boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled Boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
ClusterAddonsConfigGkeBackupAgentConfig
- Enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- Enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled Boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled Boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
ClusterAddonsConfigHorizontalPodAutoscaling
- Disabled bool
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.
- Disabled bool
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.
- disabled Boolean
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.
- disabled boolean
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.
- disabled bool
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.
- disabled Boolean
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.
ClusterAddonsConfigHttpLoadBalancing
- Disabled bool
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.
- Disabled bool
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.
- disabled Boolean
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.
- disabled boolean
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.
- disabled bool
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.
- disabled Boolean
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.
ClusterAddonsConfigIstioConfig
ClusterAddonsConfigKalmConfig
- Enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- Enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled Boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled Boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
ClusterAddonsConfigNetworkPolicyConfig
- Disabled bool
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.
- Disabled bool
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.
- disabled Boolean
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.
- disabled boolean
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.
- disabled bool
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.
- disabled Boolean
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.
ClusterAuthenticatorGroupsConfig
- Security
Group string The name of the RBAC security group for use with Google security groups in Kubernetes RBAC. Group name must be in format
gke-security-groups@yourdomain.com
.
- Security
Group string The name of the RBAC security group for use with Google security groups in Kubernetes RBAC. Group name must be in format
gke-security-groups@yourdomain.com
.
- security
Group String The name of the RBAC security group for use with Google security groups in Kubernetes RBAC. Group name must be in format
gke-security-groups@yourdomain.com
.
- security
Group string The name of the RBAC security group for use with Google security groups in Kubernetes RBAC. Group name must be in format
gke-security-groups@yourdomain.com
.
- security_
group str The name of the RBAC security group for use with Google security groups in Kubernetes RBAC. Group name must be in format
gke-security-groups@yourdomain.com
.
- security
Group String The name of the RBAC security group for use with Google security groups in Kubernetes RBAC. Group name must be in format
gke-security-groups@yourdomain.com
.
ClusterClusterAutoscaling
- Enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- Auto
Provisioning ClusterDefaults Cluster Autoscaling Auto Provisioning Defaults Contains defaults for a node pool created by NAP. Structure is documented below.
- Autoscaling
Profile string ) Configuration options for the Autoscaling profile feature, which lets you choose whether the cluster autoscaler should optimize for resource utilization or resource availability when deciding to remove nodes from a cluster. Can be
BALANCED
orOPTIMIZE_UTILIZATION
. Defaults toBALANCED
.- Resource
Limits List<ClusterCluster Autoscaling Resource Limit> Global constraints for machine resources in the cluster. Configuring the
cpu
andmemory
types is required if node auto-provisioning is enabled. These limits will apply to node pool autoscaling in addition to node auto-provisioning. Structure is documented below.
- Enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- Auto
Provisioning ClusterDefaults Cluster Autoscaling Auto Provisioning Defaults Contains defaults for a node pool created by NAP. Structure is documented below.
- Autoscaling
Profile string ) Configuration options for the Autoscaling profile feature, which lets you choose whether the cluster autoscaler should optimize for resource utilization or resource availability when deciding to remove nodes from a cluster. Can be
BALANCED
orOPTIMIZE_UTILIZATION
. Defaults toBALANCED
.- Resource
Limits []ClusterCluster Autoscaling Resource Limit Global constraints for machine resources in the cluster. Configuring the
cpu
andmemory
types is required if node auto-provisioning is enabled. These limits will apply to node pool autoscaling in addition to node auto-provisioning. Structure is documented below.
- enabled Boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- auto
Provisioning ClusterDefaults Cluster Autoscaling Auto Provisioning Defaults Contains defaults for a node pool created by NAP. Structure is documented below.
- autoscaling
Profile String ) Configuration options for the Autoscaling profile feature, which lets you choose whether the cluster autoscaler should optimize for resource utilization or resource availability when deciding to remove nodes from a cluster. Can be
BALANCED
orOPTIMIZE_UTILIZATION
. Defaults toBALANCED
.- resource
Limits ListCluster Autoscaling Resource Limit> Global constraints for machine resources in the cluster. Configuring the
cpu
andmemory
types is required if node auto-provisioning is enabled. These limits will apply to node pool autoscaling in addition to node auto-provisioning. Structure is documented below.
- enabled boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- auto
Provisioning ClusterDefaults Cluster Autoscaling Auto Provisioning Defaults Contains defaults for a node pool created by NAP. Structure is documented below.
- autoscaling
Profile string ) Configuration options for the Autoscaling profile feature, which lets you choose whether the cluster autoscaler should optimize for resource utilization or resource availability when deciding to remove nodes from a cluster. Can be
BALANCED
orOPTIMIZE_UTILIZATION
. Defaults toBALANCED
.- resource
Limits ClusterCluster Autoscaling Resource Limit[] Global constraints for machine resources in the cluster. Configuring the
cpu
andmemory
types is required if node auto-provisioning is enabled. These limits will apply to node pool autoscaling in addition to node auto-provisioning. Structure is documented below.
- enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- auto_
provisioning_ Clusterdefaults Cluster Autoscaling Auto Provisioning Defaults Contains defaults for a node pool created by NAP. Structure is documented below.
- autoscaling_
profile str ) Configuration options for the Autoscaling profile feature, which lets you choose whether the cluster autoscaler should optimize for resource utilization or resource availability when deciding to remove nodes from a cluster. Can be
BALANCED
orOPTIMIZE_UTILIZATION
. Defaults toBALANCED
.- resource_
limits Sequence[ClusterCluster Autoscaling Resource Limit] Global constraints for machine resources in the cluster. Configuring the
cpu
andmemory
types is required if node auto-provisioning is enabled. These limits will apply to node pool autoscaling in addition to node auto-provisioning. Structure is documented below.
- enabled Boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- auto
Provisioning Property MapDefaults Contains defaults for a node pool created by NAP. Structure is documented below.
- autoscaling
Profile String ) Configuration options for the Autoscaling profile feature, which lets you choose whether the cluster autoscaler should optimize for resource utilization or resource availability when deciding to remove nodes from a cluster. Can be
BALANCED
orOPTIMIZE_UTILIZATION
. Defaults toBALANCED
.- resource
Limits List Global constraints for machine resources in the cluster. Configuring the
cpu
andmemory
types is required if node auto-provisioning is enabled. These limits will apply to node pool autoscaling in addition to node auto-provisioning. Structure is documented below.
ClusterClusterAutoscalingAutoProvisioningDefaults
- Image
Type string The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.
- Min
Cpu stringPlatform 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
Intel Haswell
. See the official documentation for more information.- Oauth
Scopes List<string> The set of Google API scopes to be made available on all of the node VMs under the "default" service account. Use the "https://www.googleapis.com/auth/cloud-platform" scope to grant access to all APIs. It is recommended that you set
service_account
to a non-default service account and grant IAM roles to that service account for only the resources that it needs.- Service
Account string The service account to be used by the Node VMs. If not specified, the "default" service account is used.
- Image
Type string The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.
- Min
Cpu stringPlatform 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
Intel Haswell
. See the official documentation for more information.- Oauth
Scopes []string The set of Google API scopes to be made available on all of the node VMs under the "default" service account. Use the "https://www.googleapis.com/auth/cloud-platform" scope to grant access to all APIs. It is recommended that you set
service_account
to a non-default service account and grant IAM roles to that service account for only the resources that it needs.- Service
Account string The service account to be used by the Node VMs. If not specified, the "default" service account is used.
- image
Type String The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.
- min
Cpu StringPlatform 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
Intel Haswell
. See the official documentation for more information.- oauth
Scopes List The set of Google API scopes to be made available on all of the node VMs under the "default" service account. Use the "https://www.googleapis.com/auth/cloud-platform" scope to grant access to all APIs. It is recommended that you set
service_account
to a non-default service account and grant IAM roles to that service account for only the resources that it needs.- service
Account String The service account to be used by the Node VMs. If not specified, the "default" service account is used.
- image
Type string The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.
- min
Cpu stringPlatform 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
Intel Haswell
. See the official documentation for more information.- oauth
Scopes string[] The set of Google API scopes to be made available on all of the node VMs under the "default" service account. Use the "https://www.googleapis.com/auth/cloud-platform" scope to grant access to all APIs. It is recommended that you set
service_account
to a non-default service account and grant IAM roles to that service account for only the resources that it needs.- service
Account string The service account to be used by the Node VMs. If not specified, the "default" service account is used.
- image_
type str The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.
- min_
cpu_ strplatform 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
Intel Haswell
. See the official documentation for more information.- oauth_
scopes Sequence[str] The set of Google API scopes to be made available on all of the node VMs under the "default" service account. Use the "https://www.googleapis.com/auth/cloud-platform" scope to grant access to all APIs. It is recommended that you set
service_account
to a non-default service account and grant IAM roles to that service account for only the resources that it needs.- service_
account str The service account to be used by the Node VMs. If not specified, the "default" service account is used.
- image
Type String The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.
- min
Cpu StringPlatform 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
Intel Haswell
. See the official documentation for more information.- oauth
Scopes List The set of Google API scopes to be made available on all of the node VMs under the "default" service account. Use the "https://www.googleapis.com/auth/cloud-platform" scope to grant access to all APIs. It is recommended that you set
service_account
to a non-default service account and grant IAM roles to that service account for only the resources that it needs.- service
Account String The service account to be used by the Node VMs. If not specified, the "default" service account is used.
ClusterClusterAutoscalingResourceLimit
- Resource
Type string The type of the resource. For example,
cpu
andmemory
. See the guide to using Node Auto-Provisioning for a list of types.- Maximum int
Maximum amount of the resource in the cluster.
- Minimum int
Minimum amount of the resource in the cluster.
- Resource
Type string The type of the resource. For example,
cpu
andmemory
. See the guide to using Node Auto-Provisioning for a list of types.- Maximum int
Maximum amount of the resource in the cluster.
- Minimum int
Minimum amount of the resource in the cluster.
- resource
Type String The type of the resource. For example,
cpu
andmemory
. See the guide to using Node Auto-Provisioning for a list of types.- maximum Integer
Maximum amount of the resource in the cluster.
- minimum Integer
Minimum amount of the resource in the cluster.
- resource
Type string The type of the resource. For example,
cpu
andmemory
. See the guide to using Node Auto-Provisioning for a list of types.- maximum number
Maximum amount of the resource in the cluster.
- minimum number
Minimum amount of the resource in the cluster.
- resource_
type str The type of the resource. For example,
cpu
andmemory
. See the guide to using Node Auto-Provisioning for a list of types.- maximum int
Maximum amount of the resource in the cluster.
- minimum int
Minimum amount of the resource in the cluster.
- resource
Type String The type of the resource. For example,
cpu
andmemory
. See the guide to using Node Auto-Provisioning for a list of types.- maximum Number
Maximum amount of the resource in the cluster.
- minimum Number
Minimum amount of the resource in the cluster.
ClusterClusterTelemetry
- Type string
The accelerator type resource to expose to this instance. E.g.
nvidia-tesla-k80
.
- Type string
The accelerator type resource to expose to this instance. E.g.
nvidia-tesla-k80
.
- type String
The accelerator type resource to expose to this instance. E.g.
nvidia-tesla-k80
.
- type string
The accelerator type resource to expose to this instance. E.g.
nvidia-tesla-k80
.
- type str
The accelerator type resource to expose to this instance. E.g.
nvidia-tesla-k80
.
- type String
The accelerator type resource to expose to this instance. E.g.
nvidia-tesla-k80
.
ClusterConfidentialNodes
- Enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- Enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled Boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled Boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
ClusterDatabaseEncryption
- State string
ENCRYPTED
orDECRYPTED
- Key
Name string the key to use to encrypt/decrypt secrets. See the DatabaseEncryption definition for more information.
- State string
ENCRYPTED
orDECRYPTED
- Key
Name string the key to use to encrypt/decrypt secrets. See the DatabaseEncryption definition for more information.
- state String
ENCRYPTED
orDECRYPTED
- key
Name String the key to use to encrypt/decrypt secrets. See the DatabaseEncryption definition for more information.
- state string
ENCRYPTED
orDECRYPTED
- key
Name string the key to use to encrypt/decrypt secrets. See the DatabaseEncryption definition for more information.
- state str
ENCRYPTED
orDECRYPTED
- key_
name str the key to use to encrypt/decrypt secrets. See the DatabaseEncryption definition for more information.
- state String
ENCRYPTED
orDECRYPTED
- key
Name String the key to use to encrypt/decrypt secrets. See the DatabaseEncryption definition for more information.
ClusterDefaultSnatStatus
- Disabled bool
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.
- Disabled bool
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.
- disabled Boolean
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.
- disabled boolean
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.
- disabled bool
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.
- disabled Boolean
The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set
disabled = false
to enable.
ClusterDnsConfig
- Cluster
Dns string Which in-cluster DNS provider should be used.
PROVIDER_UNSPECIFIED
(default) orPLATFORM_DEFAULT
orCLOUD_DNS
.- Cluster
Dns stringDomain The suffix used for all cluster service records.
- Cluster
Dns stringScope The scope of access to cluster DNS records.
DNS_SCOPE_UNSPECIFIED
(default) orCLUSTER_SCOPE
orVPC_SCOPE
.
- Cluster
Dns string Which in-cluster DNS provider should be used.
PROVIDER_UNSPECIFIED
(default) orPLATFORM_DEFAULT
orCLOUD_DNS
.- Cluster
Dns stringDomain The suffix used for all cluster service records.
- Cluster
Dns stringScope The scope of access to cluster DNS records.
DNS_SCOPE_UNSPECIFIED
(default) orCLUSTER_SCOPE
orVPC_SCOPE
.
- cluster
Dns String Which in-cluster DNS provider should be used.
PROVIDER_UNSPECIFIED
(default) orPLATFORM_DEFAULT
orCLOUD_DNS
.- cluster
Dns StringDomain The suffix used for all cluster service records.
- cluster
Dns StringScope The scope of access to cluster DNS records.
DNS_SCOPE_UNSPECIFIED
(default) orCLUSTER_SCOPE
orVPC_SCOPE
.
- cluster
Dns string Which in-cluster DNS provider should be used.
PROVIDER_UNSPECIFIED
(default) orPLATFORM_DEFAULT
orCLOUD_DNS
.- cluster
Dns stringDomain The suffix used for all cluster service records.
- cluster
Dns stringScope The scope of access to cluster DNS records.
DNS_SCOPE_UNSPECIFIED
(default) orCLUSTER_SCOPE
orVPC_SCOPE
.
- cluster_
dns str Which in-cluster DNS provider should be used.
PROVIDER_UNSPECIFIED
(default) orPLATFORM_DEFAULT
orCLOUD_DNS
.- cluster_
dns_ strdomain The suffix used for all cluster service records.
- cluster_
dns_ strscope The scope of access to cluster DNS records.
DNS_SCOPE_UNSPECIFIED
(default) orCLUSTER_SCOPE
orVPC_SCOPE
.
- cluster
Dns String Which in-cluster DNS provider should be used.
PROVIDER_UNSPECIFIED
(default) orPLATFORM_DEFAULT
orCLOUD_DNS
.- cluster
Dns StringDomain The suffix used for all cluster service records.
- cluster
Dns StringScope The scope of access to cluster DNS records.
DNS_SCOPE_UNSPECIFIED
(default) orCLUSTER_SCOPE
orVPC_SCOPE
.
ClusterIdentityServiceConfig
- Enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- Enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled Boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled Boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
ClusterIpAllocationPolicy
- Cluster
Ipv4Cidr stringBlock The IP address range for the cluster pod IPs. 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 CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.
- Cluster
Secondary stringRange Name The name of the existing secondary range in the cluster's subnetwork to use for pod IP addresses. Alternatively,
cluster_ipv4_cidr_block
can be used to automatically create a GKE-managed one.- Services
Ipv4Cidr stringBlock The IP address range of the services IPs in this cluster. 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 CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.
- Services
Secondary stringRange Name The name of the existing secondary range in the cluster's subnetwork to use for service
ClusterIP
s. Alternatively,services_ipv4_cidr_block
can be used to automatically create a GKE-managed one.
- Cluster
Ipv4Cidr stringBlock The IP address range for the cluster pod IPs. 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 CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.
- Cluster
Secondary stringRange Name The name of the existing secondary range in the cluster's subnetwork to use for pod IP addresses. Alternatively,
cluster_ipv4_cidr_block
can be used to automatically create a GKE-managed one.- Services
Ipv4Cidr stringBlock The IP address range of the services IPs in this cluster. 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 CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.
- Services
Secondary stringRange Name The name of the existing secondary range in the cluster's subnetwork to use for service
ClusterIP
s. Alternatively,services_ipv4_cidr_block
can be used to automatically create a GKE-managed one.
- cluster
Ipv4Cidr StringBlock The IP address range for the cluster pod IPs. 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 CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.
- cluster
Secondary StringRange Name The name of the existing secondary range in the cluster's subnetwork to use for pod IP addresses. Alternatively,
cluster_ipv4_cidr_block
can be used to automatically create a GKE-managed one.- services
Ipv4Cidr StringBlock The IP address range of the services IPs in this cluster. 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 CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.
- services
Secondary StringRange Name The name of the existing secondary range in the cluster's subnetwork to use for service
ClusterIP
s. Alternatively,services_ipv4_cidr_block
can be used to automatically create a GKE-managed one.
- cluster
Ipv4Cidr stringBlock The IP address range for the cluster pod IPs. 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 CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.
- cluster
Secondary stringRange Name The name of the existing secondary range in the cluster's subnetwork to use for pod IP addresses. Alternatively,
cluster_ipv4_cidr_block
can be used to automatically create a GKE-managed one.- services
Ipv4Cidr stringBlock The IP address range of the services IPs in this cluster. 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 CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.
- services
Secondary stringRange Name The name of the existing secondary range in the cluster's subnetwork to use for service
ClusterIP
s. Alternatively,services_ipv4_cidr_block
can be used to automatically create a GKE-managed one.
- cluster_
ipv4_ strcidr_ block The IP address range for the cluster pod IPs. 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 CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.
- cluster_
secondary_ strrange_ name The name of the existing secondary range in the cluster's subnetwork to use for pod IP addresses. Alternatively,
cluster_ipv4_cidr_block
can be used to automatically create a GKE-managed one.- services_
ipv4_ strcidr_ block The IP address range of the services IPs in this cluster. 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 CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.
- services_
secondary_ strrange_ name The name of the existing secondary range in the cluster's subnetwork to use for service
ClusterIP
s. Alternatively,services_ipv4_cidr_block
can be used to automatically create a GKE-managed one.
- cluster
Ipv4Cidr StringBlock The IP address range for the cluster pod IPs. 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 CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.
- cluster
Secondary StringRange Name The name of the existing secondary range in the cluster's subnetwork to use for pod IP addresses. Alternatively,
cluster_ipv4_cidr_block
can be used to automatically create a GKE-managed one.- services
Ipv4Cidr StringBlock The IP address range of the services IPs in this cluster. 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 CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.
- services
Secondary StringRange Name The name of the existing secondary range in the cluster's subnetwork to use for service
ClusterIP
s. Alternatively,services_ipv4_cidr_block
can be used to automatically create a GKE-managed one.
ClusterLoggingConfig
- Enable
Components List<string> The GKE components exposing logs.
SYSTEM_COMPONENTS
and in beta provider, bothSYSTEM_COMPONENTS
andWORKLOADS
are supported.
- Enable
Components []string The GKE components exposing logs.
SYSTEM_COMPONENTS
and in beta provider, bothSYSTEM_COMPONENTS
andWORKLOADS
are supported.
- enable
Components List The GKE components exposing logs.
SYSTEM_COMPONENTS
and in beta provider, bothSYSTEM_COMPONENTS
andWORKLOADS
are supported.
- enable
Components string[] The GKE components exposing logs.
SYSTEM_COMPONENTS
and in beta provider, bothSYSTEM_COMPONENTS
andWORKLOADS
are supported.
- enable_
components Sequence[str] The GKE components exposing logs.
SYSTEM_COMPONENTS
and in beta provider, bothSYSTEM_COMPONENTS
andWORKLOADS
are supported.
- enable
Components List The GKE components exposing logs.
SYSTEM_COMPONENTS
and in beta provider, bothSYSTEM_COMPONENTS
andWORKLOADS
are supported.
ClusterMaintenancePolicy
- Daily
Maintenance ClusterWindow Maintenance Policy Daily Maintenance Window Time window specified for daily maintenance operations. Specify
start_time
in RFC3339 format "HH:MM”, where HH : [00-23] and MM : [00-59] GMT. For example:- Maintenance
Exclusions List<ClusterMaintenance Policy Maintenance Exclusion> Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. A cluster can have up to three maintenance exclusions at a time Maintenance Window and Exclusions
- Recurring
Window ClusterMaintenance Policy Recurring Window Time window for recurring maintenance operations.
- Daily
Maintenance ClusterWindow Maintenance Policy Daily Maintenance Window Time window specified for daily maintenance operations. Specify
start_time
in RFC3339 format "HH:MM”, where HH : [00-23] and MM : [00-59] GMT. For example:- Maintenance
Exclusions []ClusterMaintenance Policy Maintenance Exclusion Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. A cluster can have up to three maintenance exclusions at a time Maintenance Window and Exclusions
- Recurring
Window ClusterMaintenance Policy Recurring Window Time window for recurring maintenance operations.
- daily
Maintenance ClusterWindow Maintenance Policy Daily Maintenance Window Time window specified for daily maintenance operations. Specify
start_time
in RFC3339 format "HH:MM”, where HH : [00-23] and MM : [00-59] GMT. For example:- maintenance
Exclusions ListMaintenance Policy Maintenance Exclusion> Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. A cluster can have up to three maintenance exclusions at a time Maintenance Window and Exclusions
- recurring
Window ClusterMaintenance Policy Recurring Window Time window for recurring maintenance operations.
- daily
Maintenance ClusterWindow Maintenance Policy Daily Maintenance Window Time window specified for daily maintenance operations. Specify
start_time
in RFC3339 format "HH:MM”, where HH : [00-23] and MM : [00-59] GMT. For example:- maintenance
Exclusions ClusterMaintenance Policy Maintenance Exclusion[] Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. A cluster can have up to three maintenance exclusions at a time Maintenance Window and Exclusions
- recurring
Window ClusterMaintenance Policy Recurring Window Time window for recurring maintenance operations.
- daily_
maintenance_ Clusterwindow Maintenance Policy Daily Maintenance Window Time window specified for daily maintenance operations. Specify
start_time
in RFC3339 format "HH:MM”, where HH : [00-23] and MM : [00-59] GMT. For example:- maintenance_
exclusions Sequence[ClusterMaintenance Policy Maintenance Exclusion] Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. A cluster can have up to three maintenance exclusions at a time Maintenance Window and Exclusions
- recurring_
window ClusterMaintenance Policy Recurring Window Time window for recurring maintenance operations.
- daily
Maintenance Property MapWindow Time window specified for daily maintenance operations. Specify
start_time
in RFC3339 format "HH:MM”, where HH : [00-23] and MM : [00-59] GMT. For example:- maintenance
Exclusions List Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. A cluster can have up to three maintenance exclusions at a time Maintenance Window and Exclusions
- recurring
Window Property Map Time window for recurring maintenance operations.
ClusterMaintenancePolicyDailyMaintenanceWindow
- start_
time str - duration str
ClusterMaintenancePolicyMaintenanceExclusion
- End
Time string - Exclusion
Name string - Start
Time string
- End
Time string - Exclusion
Name string - Start
Time string
- end
Time String - exclusion
Name String - start
Time String
- end
Time string - exclusion
Name string - start
Time string
- end_
time str - exclusion_
name str - start_
time str
- end
Time String - exclusion
Name String - start
Time String
ClusterMaintenancePolicyRecurringWindow
- End
Time string - Recurrence string
- Start
Time string
- End
Time string - Recurrence string
- Start
Time string
- end
Time String - recurrence String
- start
Time String
- end
Time string - recurrence string
- start
Time string
- end_
time str - recurrence str
- start_
time str
- end
Time String - recurrence String
- start
Time String
ClusterMasterAuth
- Client
Certificate ClusterConfig Master Auth Client Certificate Config Whether client certificate authorization is enabled for this cluster. For example:
- Client
Certificate string - Client
Key string - Cluster
Ca stringCertificate
- Client
Certificate ClusterConfig Master Auth Client Certificate Config Whether client certificate authorization is enabled for this cluster. For example:
- Client
Certificate string - Client
Key string - Cluster
Ca stringCertificate
- client
Certificate ClusterConfig Master Auth Client Certificate Config Whether client certificate authorization is enabled for this cluster. For example:
- client
Certificate String - client
Key String - cluster
Ca StringCertificate
- client
Certificate ClusterConfig Master Auth Client Certificate Config Whether client certificate authorization is enabled for this cluster. For example:
- client
Certificate string - client
Key string - cluster
Ca stringCertificate
- client_
certificate_ Clusterconfig Master Auth Client Certificate Config Whether client certificate authorization is enabled for this cluster. For example:
- client_
certificate str - client_
key str - cluster_
ca_ strcertificate
- client
Certificate Property MapConfig Whether client certificate authorization is enabled for this cluster. For example:
- client
Certificate String - client
Key String - cluster
Ca StringCertificate
ClusterMasterAuthClientCertificateConfig
- issue
Client BooleanCertificate
- issue
Client booleanCertificate
- issue
Client BooleanCertificate
ClusterMasterAuthorizedNetworksConfig
- Cidr
Blocks List<ClusterMaster Authorized Networks Config Cidr Block> External networks that can access the Kubernetes cluster master through HTTPS.
- Cidr
Blocks []ClusterMaster Authorized Networks Config Cidr Block External networks that can access the Kubernetes cluster master through HTTPS.
- cidr
Blocks ListMaster Authorized Networks Config Cidr Block> External networks that can access the Kubernetes cluster master through HTTPS.
- cidr
Blocks ClusterMaster Authorized Networks Config Cidr Block[] External networks that can access the Kubernetes cluster master through HTTPS.
- cidr_
blocks Sequence[ClusterMaster Authorized Networks Config Cidr Block] External networks that can access the Kubernetes cluster master through HTTPS.
- cidr
Blocks List External networks that can access the Kubernetes cluster master through HTTPS.
ClusterMasterAuthorizedNetworksConfigCidrBlock
- Cidr
Block string External network that can access Kubernetes master through HTTPS. Must be specified in CIDR notation.
- Display
Name string Field for users to identify CIDR blocks.
- Cidr
Block string External network that can access Kubernetes master through HTTPS. Must be specified in CIDR notation.
- Display
Name string Field for users to identify CIDR blocks.
- cidr
Block String External network that can access Kubernetes master through HTTPS. Must be specified in CIDR notation.
- display
Name String Field for users to identify CIDR blocks.
- cidr
Block string External network that can access Kubernetes master through HTTPS. Must be specified in CIDR notation.
- display
Name string Field for users to identify CIDR blocks.
- cidr_
block str External network that can access Kubernetes master through HTTPS. Must be specified in CIDR notation.
- display_
name str Field for users to identify CIDR blocks.
- cidr
Block String External network that can access Kubernetes master through HTTPS. Must be specified in CIDR notation.
- display
Name String Field for users to identify CIDR blocks.
ClusterMonitoringConfig
- Enable
Components List<string> The GKE components exposing logs.
SYSTEM_COMPONENTS
and in beta provider, bothSYSTEM_COMPONENTS
andWORKLOADS
are supported.
- Enable
Components []string The GKE components exposing logs.
SYSTEM_COMPONENTS
and in beta provider, bothSYSTEM_COMPONENTS
andWORKLOADS
are supported.
- enable
Components List The GKE components exposing logs.
SYSTEM_COMPONENTS
and in beta provider, bothSYSTEM_COMPONENTS
andWORKLOADS
are supported.
- enable
Components string[] The GKE components exposing logs.
SYSTEM_COMPONENTS
and in beta provider, bothSYSTEM_COMPONENTS
andWORKLOADS
are supported.
- enable_
components Sequence[str] The GKE components exposing logs.
SYSTEM_COMPONENTS
and in beta provider, bothSYSTEM_COMPONENTS
andWORKLOADS
are supported.
- enable
Components List The GKE components exposing logs.
SYSTEM_COMPONENTS
and in beta provider, bothSYSTEM_COMPONENTS
andWORKLOADS
are supported.
ClusterNetworkPolicy
ClusterNodeConfig
- Boot
Disk stringKms Key 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/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
- Disk
Size intGb Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
- Disk
Type string Type of the disk attached to each node (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-standard'
- Ephemeral
Storage ClusterConfig Node Config Ephemeral Storage Config Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below.
- Gcfs
Config ClusterNode Config Gcfs Config Parameters for the Google Container Filesystem (GCFS). If unspecified, GCFS will not be enabled on the node pool. When enabling this feature you must specify
image_type = "COS_CONTAINERD"
andnode_version
from GKE versions 1.19 or later to use it. For GKE versions 1.19, 1.20, and 1.21, the recommended minimumnode_version
would be 1.19.15-gke.1300, 1.20.11-gke.1300, and 1.21.5-gke.1300 respectively. Amachine_type
that has more than 16 GiB of memory is also recommended. GCFS must be enabled in order to use image streaming. Structure is documented below.- Guest
Accelerators List<ClusterNode Config Guest Accelerator> List of the type and count of accelerator cards attached to the instance. Structure documented below.
- Gvnic
Cluster
Node Config Gvnic Google Virtual NIC (gVNIC) is a virtual network interface. Installing the gVNIC driver allows for more efficient traffic transmission across the Google network infrastructure. gVNIC is an alternative to the virtIO-based ethernet driver. GKE nodes must use a Container-Optimized OS node image. GKE node version 1.15.11-gke.15 or later Structure is documented below.
- Image
Type string The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.
- Kubelet
Config ClusterNode Config Kubelet Config Kubelet configuration, currently supported attributes can be found here. Structure is documented below.
- Labels Dictionary<string, string>
The Kubernetes labels (key/value pairs) to be applied to each node. The kubernetes.io/ and k8s.io/ prefixes are reserved by Kubernetes Core components and cannot be specified.
- Linux
Node ClusterConfig Node Config Linux Node Config Linux node configuration, currently supported attributes can be found here. Note that validations happen all server side. All attributes are optional. Structure is documented below.
- Local
Ssd intCount 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.
- Machine
Type string The name of a Google Compute Engine machine type. Defaults to
e2-medium
. To create a custom machine type, value should be set as specified here.- Metadata Dictionary<string, string>
The metadata key/value pairs assigned to instances in the cluster. From GKE
1.12
onwards,disable-legacy-endpoints
is set totrue
by the API; ifmetadata
is set but that default value is not included, the provider will attempt to unset the value. To avoid this, set the value in your config.- Min
Cpu stringPlatform 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
Intel Haswell
. See the official documentation for more information.- Node
Group string Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on sole tenant nodes.
- Oauth
Scopes List<string> The set of Google API scopes to be made available on all of the node VMs under the "default" service account. Use the "https://www.googleapis.com/auth/cloud-platform" scope to grant access to all APIs. It is recommended that you set
service_account
to a non-default service account and grant IAM roles to that service account for only the resources that it needs.- Preemptible bool
A boolean that represents whether or not the underlying node VMs are preemptible. See the official documentation for more information. Defaults to false.
- Sandbox
Config ClusterNode Config Sandbox Config GKE Sandbox configuration. When enabling this feature you must specify
image_type = "COS_CONTAINERD"
andnode_version = "1.12.7-gke.17"
or later to use it. Structure is documented below.- Service
Account string The service account to be used by the Node VMs. If not specified, the "default" service account is used.
- Shielded
Instance ClusterConfig Node Config Shielded Instance Config Shielded Instance options. Structure is documented below.
- Spot bool
) A boolean that represents whether the underlying node VMs are spot. See the official documentation for more information. Defaults to false.
- List<string>
The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls.
- Taints
List<Cluster
Node Config Taint> A list of Kubernetes taints to apply to nodes. GKE's API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. If this field is set, any diffs on this field will cause the provider to recreate the underlying resource. Taint values can be updated safely in Kubernetes (eg. through
kubectl
), and it's recommended that you do not use this field to manage taints. If you do,lifecycle.ignore_changes
is recommended. Structure is documented below.- Workload
Metadata ClusterConfig Node Config Workload Metadata Config Metadata configuration to expose to workloads on the node pool. Structure is documented below.
- Boot
Disk stringKms Key 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/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
- Disk
Size intGb Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
- Disk
Type string Type of the disk attached to each node (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-standard'
- Ephemeral
Storage ClusterConfig Node Config Ephemeral Storage Config Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below.
- Gcfs
Config ClusterNode Config Gcfs Config Parameters for the Google Container Filesystem (GCFS). If unspecified, GCFS will not be enabled on the node pool. When enabling this feature you must specify
image_type = "COS_CONTAINERD"
andnode_version
from GKE versions 1.19 or later to use it. For GKE versions 1.19, 1.20, and 1.21, the recommended minimumnode_version
would be 1.19.15-gke.1300, 1.20.11-gke.1300, and 1.21.5-gke.1300 respectively. Amachine_type
that has more than 16 GiB of memory is also recommended. GCFS must be enabled in order to use image streaming. Structure is documented below.- Guest
Accelerators []ClusterNode Config Guest Accelerator List of the type and count of accelerator cards attached to the instance. Structure documented below.
- Gvnic
Cluster
Node Config Gvnic Google Virtual NIC (gVNIC) is a virtual network interface. Installing the gVNIC driver allows for more efficient traffic transmission across the Google network infrastructure. gVNIC is an alternative to the virtIO-based ethernet driver. GKE nodes must use a Container-Optimized OS node image. GKE node version 1.15.11-gke.15 or later Structure is documented below.
- Image
Type string The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.
- Kubelet
Config ClusterNode Config Kubelet Config Kubelet configuration, currently supported attributes can be found here. Structure is documented below.
- Labels map[string]string
The Kubernetes labels (key/value pairs) to be applied to each node. The kubernetes.io/ and k8s.io/ prefixes are reserved by Kubernetes Core components and cannot be specified.
- Linux
Node ClusterConfig Node Config Linux Node Config Linux node configuration, currently supported attributes can be found here. Note that validations happen all server side. All attributes are optional. Structure is documented below.
- Local
Ssd intCount 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.
- Machine
Type string The name of a Google Compute Engine machine type. Defaults to
e2-medium
. To create a custom machine type, value should be set as specified here.- Metadata map[string]string
The metadata key/value pairs assigned to instances in the cluster. From GKE
1.12
onwards,disable-legacy-endpoints
is set totrue
by the API; ifmetadata
is set but that default value is not included, the provider will attempt to unset the value. To avoid this, set the value in your config.- Min
Cpu stringPlatform 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
Intel Haswell
. See the official documentation for more information.- Node
Group string Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on sole tenant nodes.
- Oauth
Scopes []string The set of Google API scopes to be made available on all of the node VMs under the "default" service account. Use the "https://www.googleapis.com/auth/cloud-platform" scope to grant access to all APIs. It is recommended that you set
service_account
to a non-default service account and grant IAM roles to that service account for only the resources that it needs.- Preemptible bool
A boolean that represents whether or not the underlying node VMs are preemptible. See the official documentation for more information. Defaults to false.
- Sandbox
Config ClusterNode Config Sandbox Config GKE Sandbox configuration. When enabling this feature you must specify
image_type = "COS_CONTAINERD"
andnode_version = "1.12.7-gke.17"
or later to use it. Structure is documented below.- Service
Account string The service account to be used by the Node VMs. If not specified, the "default" service account is used.
- Shielded
Instance ClusterConfig Node Config Shielded Instance Config Shielded Instance options. Structure is documented below.
- Spot bool
) A boolean that represents whether the underlying node VMs are spot. See the official documentation for more information. Defaults to false.
- []string
The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls.
- Taints
[]Cluster
Node Config Taint A list of Kubernetes taints to apply to nodes. GKE's API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. If this field is set, any diffs on this field will cause the provider to recreate the underlying resource. Taint values can be updated safely in Kubernetes (eg. through
kubectl
), and it's recommended that you do not use this field to manage taints. If you do,lifecycle.ignore_changes
is recommended. Structure is documented below.- Workload
Metadata ClusterConfig Node Config Workload Metadata Config Metadata configuration to expose to workloads on the node pool. Structure is documented below.
- boot
Disk StringKms Key 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/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
- disk
Size IntegerGb Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
- disk
Type String Type of the disk attached to each node (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-standard'
- ephemeral
Storage ClusterConfig Node Config Ephemeral Storage Config Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below.
- gcfs
Config ClusterNode Config Gcfs Config Parameters for the Google Container Filesystem (GCFS). If unspecified, GCFS will not be enabled on the node pool. When enabling this feature you must specify
image_type = "COS_CONTAINERD"
andnode_version
from GKE versions 1.19 or later to use it. For GKE versions 1.19, 1.20, and 1.21, the recommended minimumnode_version
would be 1.19.15-gke.1300, 1.20.11-gke.1300, and 1.21.5-gke.1300 respectively. Amachine_type
that has more than 16 GiB of memory is also recommended. GCFS must be enabled in order to use image streaming. Structure is documented below.- guest
Accelerators ListNode Config Guest Accelerator> List of the type and count of accelerator cards attached to the instance. Structure documented below.
- gvnic
Cluster
Node Config Gvnic Google Virtual NIC (gVNIC) is a virtual network interface. Installing the gVNIC driver allows for more efficient traffic transmission across the Google network infrastructure. gVNIC is an alternative to the virtIO-based ethernet driver. GKE nodes must use a Container-Optimized OS node image. GKE node version 1.15.11-gke.15 or later Structure is documented below.
- image
Type String The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.
- kubelet
Config ClusterNode Config Kubelet Config Kubelet configuration, currently supported attributes can be found here. Structure is documented below.
- labels
Map
The Kubernetes labels (key/value pairs) to be applied to each node. The kubernetes.io/ and k8s.io/ prefixes are reserved by Kubernetes Core components and cannot be specified.
- linux
Node ClusterConfig Node Config Linux Node Config Linux node configuration, currently supported attributes can be found here. Note that validations happen all server side. All attributes are optional. Structure is documented below.
- local
Ssd IntegerCount 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.
- machine
Type String The name of a Google Compute Engine machine type. Defaults to
e2-medium
. To create a custom machine type, value should be set as specified here.- metadata
Map
The metadata key/value pairs assigned to instances in the cluster. From GKE
1.12
onwards,disable-legacy-endpoints
is set totrue
by the API; ifmetadata
is set but that default value is not included, the provider will attempt to unset the value. To avoid this, set the value in your config.- min
Cpu StringPlatform 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
Intel Haswell
. See the official documentation for more information.- node
Group String Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on sole tenant nodes.
- oauth
Scopes List The set of Google API scopes to be made available on all of the node VMs under the "default" service account. Use the "https://www.googleapis.com/auth/cloud-platform" scope to grant access to all APIs. It is recommended that you set
service_account
to a non-default service account and grant IAM roles to that service account for only the resources that it needs.- preemptible Boolean
A boolean that represents whether or not the underlying node VMs are preemptible. See the official documentation for more information. Defaults to false.
- sandbox
Config ClusterNode Config Sandbox Config GKE Sandbox configuration. When enabling this feature you must specify
image_type = "COS_CONTAINERD"
andnode_version = "1.12.7-gke.17"
or later to use it. Structure is documented below.- service
Account String The service account to be used by the Node VMs. If not specified, the "default" service account is used.
- shielded
Instance ClusterConfig Node Config Shielded Instance Config Shielded Instance options. Structure is documented below.
- spot Boolean
) A boolean that represents whether the underlying node VMs are spot. See the official documentation for more information. Defaults to false.
- List
The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls.
- taints
List
Node Config Taint> A list of Kubernetes taints to apply to nodes. GKE's API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. If this field is set, any diffs on this field will cause the provider to recreate the underlying resource. Taint values can be updated safely in Kubernetes (eg. through
kubectl
), and it's recommended that you do not use this field to manage taints. If you do,lifecycle.ignore_changes
is recommended. Structure is documented below.- workload
Metadata ClusterConfig Node Config Workload Metadata Config Metadata configuration to expose to workloads on the node pool. Structure is documented below.
- boot
Disk stringKms Key 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/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
- disk
Size numberGb Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
- disk
Type string Type of the disk attached to each node (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-standard'
- ephemeral
Storage ClusterConfig Node Config Ephemeral Storage Config Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below.
- gcfs
Config ClusterNode Config Gcfs Config Parameters for the Google Container Filesystem (GCFS). If unspecified, GCFS will not be enabled on the node pool. When enabling this feature you must specify
image_type = "COS_CONTAINERD"
andnode_version
from GKE versions 1.19 or later to use it. For GKE versions 1.19, 1.20, and 1.21, the recommended minimumnode_version
would be 1.19.15-gke.1300, 1.20.11-gke.1300, and 1.21.5-gke.1300 respectively. Amachine_type
that has more than 16 GiB of memory is also recommended. GCFS must be enabled in order to use image streaming. Structure is documented below.- guest
Accelerators ClusterNode Config Guest Accelerator[] List of the type and count of accelerator cards attached to the instance. Structure documented below.
- gvnic
Cluster
Node Config Gvnic Google Virtual NIC (gVNIC) is a virtual network interface. Installing the gVNIC driver allows for more efficient traffic transmission across the Google network infrastructure. gVNIC is an alternative to the virtIO-based ethernet driver. GKE nodes must use a Container-Optimized OS node image. GKE node version 1.15.11-gke.15 or later Structure is documented below.
- image
Type string The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.
- kubelet
Config ClusterNode Config Kubelet Config Kubelet configuration, currently supported attributes can be found here. Structure is documented below.
- labels {[key: string]: string}
The Kubernetes labels (key/value pairs) to be applied to each node. The kubernetes.io/ and k8s.io/ prefixes are reserved by Kubernetes Core components and cannot be specified.
- linux
Node ClusterConfig Node Config Linux Node Config Linux node configuration, currently supported attributes can be found here. Note that validations happen all server side. All attributes are optional. Structure is documented below.
- local
Ssd numberCount 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.
- machine
Type string The name of a Google Compute Engine machine type. Defaults to
e2-medium
. To create a custom machine type, value should be set as specified here.- metadata {[key: string]: string}
The metadata key/value pairs assigned to instances in the cluster. From GKE
1.12
onwards,disable-legacy-endpoints
is set totrue
by the API; ifmetadata
is set but that default value is not included, the provider will attempt to unset the value. To avoid this, set the value in your config.- min
Cpu stringPlatform 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
Intel Haswell
. See the official documentation for more information.- node
Group string Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on sole tenant nodes.
- oauth
Scopes string[] The set of Google API scopes to be made available on all of the node VMs under the "default" service account. Use the "https://www.googleapis.com/auth/cloud-platform" scope to grant access to all APIs. It is recommended that you set
service_account
to a non-default service account and grant IAM roles to that service account for only the resources that it needs.- preemptible boolean
A boolean that represents whether or not the underlying node VMs are preemptible. See the official documentation for more information. Defaults to false.
- sandbox
Config ClusterNode Config Sandbox Config GKE Sandbox configuration. When enabling this feature you must specify
image_type = "COS_CONTAINERD"
andnode_version = "1.12.7-gke.17"
or later to use it. Structure is documented below.- service
Account string The service account to be used by the Node VMs. If not specified, the "default" service account is used.
- shielded
Instance ClusterConfig Node Config Shielded Instance Config Shielded Instance options. Structure is documented below.
- spot boolean
) A boolean that represents whether the underlying node VMs are spot. See the official documentation for more information. Defaults to false.
- string[]
The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls.
- taints
Cluster
Node Config Taint[] A list of Kubernetes taints to apply to nodes. GKE's API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. If this field is set, any diffs on this field will cause the provider to recreate the underlying resource. Taint values can be updated safely in Kubernetes (eg. through
kubectl
), and it's recommended that you do not use this field to manage taints. If you do,lifecycle.ignore_changes
is recommended. Structure is documented below.- workload
Metadata ClusterConfig Node Config Workload Metadata Config Metadata configuration to expose to workloads on the node pool. Structure is documented below.
- boot_
disk_ strkms_ key 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/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
- disk_
size_ intgb Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
- disk_
type str Type of the disk attached to each node (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-standard'
- ephemeral_
storage_ Clusterconfig Node Config Ephemeral Storage Config Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below.
- gcfs_
config ClusterNode Config Gcfs Config Parameters for the Google Container Filesystem (GCFS). If unspecified, GCFS will not be enabled on the node pool. When enabling this feature you must specify
image_type = "COS_CONTAINERD"
andnode_version
from GKE versions 1.19 or later to use it. For GKE versions 1.19, 1.20, and 1.21, the recommended minimumnode_version
would be 1.19.15-gke.1300, 1.20.11-gke.1300, and 1.21.5-gke.1300 respectively. Amachine_type
that has more than 16 GiB of memory is also recommended. GCFS must be enabled in order to use image streaming. Structure is documented below.- guest_
accelerators Sequence[ClusterNode Config Guest Accelerator] List of the type and count of accelerator cards attached to the instance. Structure documented below.
- gvnic
Cluster
Node Config Gvnic Google Virtual NIC (gVNIC) is a virtual network interface. Installing the gVNIC driver allows for more efficient traffic transmission across the Google network infrastructure. gVNIC is an alternative to the virtIO-based ethernet driver. GKE nodes must use a Container-Optimized OS node image. GKE node version 1.15.11-gke.15 or later Structure is documented below.
- image_
type str The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.
- kubelet_
config ClusterNode Config Kubelet Config Kubelet configuration, currently supported attributes can be found here. Structure is documented below.
- labels Mapping[str, str]
The Kubernetes labels (key/value pairs) to be applied to each node. The kubernetes.io/ and k8s.io/ prefixes are reserved by Kubernetes Core components and cannot be specified.
- linux_
node_ Clusterconfig Node Config Linux Node Config Linux node configuration, currently supported attributes can be found here. Note that validations happen all server side. All attributes are optional. Structure is documented below.
- local_
ssd_ intcount 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.
- machine_
type str The name of a Google Compute Engine machine type. Defaults to
e2-medium
. To create a custom machine type, value should be set as specified here.- metadata Mapping[str, str]
The metadata key/value pairs assigned to instances in the cluster. From GKE
1.12
onwards,disable-legacy-endpoints
is set totrue
by the API; ifmetadata
is set but that default value is not included, the provider will attempt to unset the value. To avoid this, set the value in your config.- min_
cpu_ strplatform 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
Intel Haswell
. See the official documentation for more information.- node_
group str Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on sole tenant nodes.
- oauth_
scopes Sequence[str] The set of Google API scopes to be made available on all of the node VMs under the "default" service account. Use the "https://www.googleapis.com/auth/cloud-platform" scope to grant access to all APIs. It is recommended that you set
service_account
to a non-default service account and grant IAM roles to that service account for only the resources that it needs.- preemptible bool
A boolean that represents whether or not the underlying node VMs are preemptible. See the official documentation for more information. Defaults to false.
- sandbox_
config ClusterNode Config Sandbox Config GKE Sandbox configuration. When enabling this feature you must specify
image_type = "COS_CONTAINERD"
andnode_version = "1.12.7-gke.17"
or later to use it. Structure is documented below.- service_
account str The service account to be used by the Node VMs. If not specified, the "default" service account is used.
- shielded_
instance_ Clusterconfig Node Config Shielded Instance Config Shielded Instance options. Structure is documented below.
- spot bool
) A boolean that represents whether the underlying node VMs are spot. See the official documentation for more information. Defaults to false.
- Sequence[str]
The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls.
- taints
Sequence[Cluster
Node Config Taint] A list of Kubernetes taints to apply to nodes. GKE's API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. If this field is set, any diffs on this field will cause the provider to recreate the underlying resource. Taint values can be updated safely in Kubernetes (eg. through
kubectl
), and it's recommended that you do not use this field to manage taints. If you do,lifecycle.ignore_changes
is recommended. Structure is documented below.- workload_
metadata_ Clusterconfig Node Config Workload Metadata Config Metadata configuration to expose to workloads on the node pool. Structure is documented below.
- boot
Disk StringKms Key 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/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
- disk
Size NumberGb Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
- disk
Type String Type of the disk attached to each node (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-standard'
- ephemeral
Storage Property MapConfig Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below.
- gcfs
Config Property Map Parameters for the Google Container Filesystem (GCFS). If unspecified, GCFS will not be enabled on the node pool. When enabling this feature you must specify
image_type = "COS_CONTAINERD"
andnode_version
from GKE versions 1.19 or later to use it. For GKE versions 1.19, 1.20, and 1.21, the recommended minimumnode_version
would be 1.19.15-gke.1300, 1.20.11-gke.1300, and 1.21.5-gke.1300 respectively. Amachine_type
that has more than 16 GiB of memory is also recommended. GCFS must be enabled in order to use image streaming. Structure is documented below.- guest
Accelerators List List of the type and count of accelerator cards attached to the instance. Structure documented below.
- gvnic Property Map
Google Virtual NIC (gVNIC) is a virtual network interface. Installing the gVNIC driver allows for more efficient traffic transmission across the Google network infrastructure. gVNIC is an alternative to the virtIO-based ethernet driver. GKE nodes must use a Container-Optimized OS node image. GKE node version 1.15.11-gke.15 or later Structure is documented below.
- image
Type String The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.
- kubelet
Config Property Map Kubelet configuration, currently supported attributes can be found here. Structure is documented below.
- labels
Map
The Kubernetes labels (key/value pairs) to be applied to each node. The kubernetes.io/ and k8s.io/ prefixes are reserved by Kubernetes Core components and cannot be specified.
- linux
Node Property MapConfig Linux node configuration, currently supported attributes can be found here. Note that validations happen all server side. All attributes are optional. Structure is documented below.
- local
Ssd NumberCount 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.
- machine
Type String The name of a Google Compute Engine machine type. Defaults to
e2-medium
. To create a custom machine type, value should be set as specified here.- metadata
Map
The metadata key/value pairs assigned to instances in the cluster. From GKE
1.12
onwards,disable-legacy-endpoints
is set totrue
by the API; ifmetadata
is set but that default value is not included, the provider will attempt to unset the value. To avoid this, set the value in your config.- min
Cpu StringPlatform 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
Intel Haswell
. See the official documentation for more information.- node
Group String Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on sole tenant nodes.
- oauth
Scopes List The set of Google API scopes to be made available on all of the node VMs under the "default" service account. Use the "https://www.googleapis.com/auth/cloud-platform" scope to grant access to all APIs. It is recommended that you set
service_account
to a non-default service account and grant IAM roles to that service account for only the resources that it needs.- preemptible Boolean
A boolean that represents whether or not the underlying node VMs are preemptible. See the official documentation for more information. Defaults to false.
- sandbox
Config Property Map GKE Sandbox configuration. When enabling this feature you must specify
image_type = "COS_CONTAINERD"
andnode_version = "1.12.7-gke.17"
or later to use it. Structure is documented below.- service
Account String The service account to be used by the Node VMs. If not specified, the "default" service account is used.
- shielded
Instance Property MapConfig Shielded Instance options. Structure is documented below.
- spot Boolean
) A boolean that represents whether the underlying node VMs are spot. See the official documentation for more information. Defaults to false.
- List
The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls.
- taints
List
A list of Kubernetes taints to apply to nodes. GKE's API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. If this field is set, any diffs on this field will cause the provider to recreate the underlying resource. Taint values can be updated safely in Kubernetes (eg. through
kubectl
), and it's recommended that you do not use this field to manage taints. If you do,lifecycle.ignore_changes
is recommended. Structure is documented below.- workload
Metadata Property MapConfig Metadata configuration to expose to workloads on the node pool. Structure is documented below.
ClusterNodeConfigEphemeralStorageConfig
- Local
Ssd intCount 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.
- Local
Ssd intCount 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.
- local
Ssd IntegerCount 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.
- local
Ssd numberCount 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.
- local_
ssd_ intcount 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.
- local
Ssd NumberCount 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.
ClusterNodeConfigGcfsConfig
- Enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- Enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled Boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled Boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
ClusterNodeConfigGuestAccelerator
- Count int
The number of the guest accelerator cards exposed to this instance.
- Type string
The accelerator type resource to expose to this instance. E.g.
nvidia-tesla-k80
.- Gpu
Partition stringSize Size of partitions to create on the GPU. Valid values are described in the NVIDIA mig user guide.
- Count int
The number of the guest accelerator cards exposed to this instance.
- Type string
The accelerator type resource to expose to this instance. E.g.
nvidia-tesla-k80
.- Gpu
Partition stringSize Size of partitions to create on the GPU. Valid values are described in the NVIDIA mig user guide.
- count Integer
The number of the guest accelerator cards exposed to this instance.
- type String
The accelerator type resource to expose to this instance. E.g.
nvidia-tesla-k80
.- gpu
Partition StringSize Size of partitions to create on the GPU. Valid values are described in the NVIDIA mig user guide.
- count number
The number of the guest accelerator cards exposed to this instance.
- type string
The accelerator type resource to expose to this instance. E.g.
nvidia-tesla-k80
.- gpu
Partition stringSize Size of partitions to create on the GPU. Valid values are described in the NVIDIA mig user guide.
- count int
The number of the guest accelerator cards exposed to this instance.
- type str
The accelerator type resource to expose to this instance. E.g.
nvidia-tesla-k80
.- gpu_
partition_ strsize Size of partitions to create on the GPU. Valid values are described in the NVIDIA mig user guide.
- count Number
The number of the guest accelerator cards exposed to this instance.
- type String
The accelerator type resource to expose to this instance. E.g.
nvidia-tesla-k80
.- gpu
Partition StringSize Size of partitions to create on the GPU. Valid values are described in the NVIDIA mig user guide.
ClusterNodeConfigGvnic
- Enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- Enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled Boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled bool
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
- enabled Boolean
Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.
ClusterNodeConfigKubeletConfig
- Cpu
Manager stringPolicy The CPU management policy on the node. See K8S CPU Management Policies. One of
"none"
or"static"
. Defaults tonone
whenkubelet_config
is unset.- Cpu
Cfs boolQuota If true, enables CPU CFS quota enforcement for containers that specify CPU limits.
- Cpu
Cfs stringQuota Period The CPU CFS quota period value. Specified as 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.
- Cpu
Manager stringPolicy The CPU management policy on the node. See K8S CPU Management Policies. One of
"none"
or"static"
. Defaults tonone
whenkubelet_config
is unset.- Cpu
Cfs boolQuota If true, enables CPU CFS quota enforcement for containers that specify CPU limits.
- Cpu
Cfs stringQuota Period The CPU CFS quota period value. Specified as 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.
- cpu
Manager StringPolicy The CPU management policy on the node. See K8S CPU Management Policies. One of
"none"
or"static"
. Defaults tonone
whenkubelet_config
is unset.- cpu
Cfs BooleanQuota If true, enables CPU CFS quota enforcement for containers that specify CPU limits.
- cpu
Cfs StringQuota Period The CPU CFS quota period value. Specified as 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.
- cpu
Manager stringPolicy The CPU management policy on the node. See K8S CPU Management Policies. One of
"none"
or"static"
. Defaults tonone
whenkubelet_config
is unset.- cpu
Cfs booleanQuota If true, enables CPU CFS quota enforcement for containers that specify CPU limits.
- cpu
Cfs stringQuota Period The CPU CFS quota period value. Specified as 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.
- cpu_
manager_ strpolicy The CPU management policy on the node. See K8S CPU Management Policies. One of
"none"
or"static"
. Defaults tonone
whenkubelet_config
is unset.- cpu_
cfs_ boolquota If true, enables CPU CFS quota enforcement for containers that specify CPU limits.
- cpu_
cfs_ strquota_ period The CPU CFS quota period value. Specified as 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.
- cpu
Manager StringPolicy The CPU management policy on the node. See K8S CPU Management Policies. One of
"none"
or"static"
. Defaults tonone
whenkubelet_config
is unset.- cpu
Cfs BooleanQuota If true, enables CPU CFS quota enforcement for containers that specify CPU limits.
- cpu
Cfs StringQuota Period The CPU CFS quota period value. Specified as 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.
ClusterNodeConfigLinuxNodeConfig
- Sysctls Dictionary<string, string>
The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. Specified as a map from the key, such as
net.core.wmem_max
, to a string value.
- Sysctls map[string]string
The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. Specified as a map from the key, such as
net.core.wmem_max
, to a string value.
- sysctls
Map
The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. Specified as a map from the key, such as
net.core.wmem_max
, to a string value.
- sysctls {[key: string]: string}
The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. Specified as a map from the key, such as
net.core.wmem_max
, to a string value.
- sysctls Mapping[str, str]
The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. Specified as a map from the key, such as
net.core.wmem_max
, to a string value.
- sysctls
Map
The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. Specified as a map from the key, such as
net.core.wmem_max
, to a string value.
ClusterNodeConfigSandboxConfig
- Sandbox
Type string Which sandbox to use for pods in the node pool. Accepted values are:
- Sandbox
Type string Which sandbox to use for pods in the node pool. Accepted values are:
- sandbox
Type String Which sandbox to use for pods in the node pool. Accepted values are:
- sandbox
Type string Which sandbox to use for pods in the node pool. Accepted values are:
- sandbox_
type str Which sandbox to use for pods in the node pool. Accepted values are:
- sandbox
Type String Which sandbox to use for pods in the node pool. Accepted values are:
ClusterNodeConfigShieldedInstanceConfig
- Enable
Integrity boolMonitoring Defines if the instance has integrity monitoring enabled.
- Enable
Secure boolBoot Defines if the instance has Secure Boot enabled.
- Enable
Integrity boolMonitoring Defines if the instance has integrity monitoring enabled.
- Enable
Secure boolBoot Defines if the instance has Secure Boot enabled.
- enable
Integrity BooleanMonitoring Defines if the instance has integrity monitoring enabled.
- enable
Secure BooleanBoot Defines if the instance has Secure Boot enabled.
- enable
Integrity booleanMonitoring Defines if the instance has integrity monitoring enabled.
- enable
Secure booleanBoot Defines if the instance has Secure Boot enabled.
- enable_
integrity_ boolmonitoring Defines if the instance has integrity monitoring enabled.
- enable_
secure_ boolboot Defines if the instance has Secure Boot enabled.
- enable
Integrity BooleanMonitoring Defines if the instance has integrity monitoring enabled.
- enable
Secure BooleanBoot Defines if the instance has Secure Boot enabled.
ClusterNodeConfigTaint
ClusterNodeConfigWorkloadMetadataConfig
- Mode string
How to expose the node metadata to the workload running on the node. Accepted values are:
- UNSPECIFIED: Not Set
- GCE_METADATA: Expose all Compute Engine metadata to pods.
- GKE_METADATA: Run the GKE Metadata Server on this node. The GKE Metadata Server exposes a metadata API to workloads that is compatible with the V1 Compute Metadata APIs exposed by the Compute Engine and App Engine Metadata Servers. This feature can only be enabled if workload identity is enabled at the cluster level.
- Mode string
How to expose the node metadata to the workload running on the node. Accepted values are:
- UNSPECIFIED: Not Set
- GCE_METADATA: Expose all Compute Engine metadata to pods.
- GKE_METADATA: Run the GKE Metadata Server on this node. The GKE Metadata Server exposes a metadata API to workloads that is compatible with the V1 Compute Metadata APIs exposed by the Compute Engine and App Engine Metadata Servers. This feature can only be enabled if workload identity is enabled at the cluster level.
- mode String
How to expose the node metadata to the workload running on the node. Accepted values are:
- UNSPECIFIED: Not Set
- GCE_METADATA: Expose all Compute Engine metadata to pods.
- GKE_METADATA: Run the GKE Metadata Server on this node. The GKE Metadata Server exposes a metadata API to workloads that is compatible with the V1 Compute Metadata APIs exposed by the Compute Engine and App Engine Metadata Servers. This feature can only be enabled if workload identity is enabled at the cluster level.
- mode string
How to expose the node metadata to the workload running on the node. Accepted values are:
- UNSPECIFIED: Not Set
- GCE_METADATA: Expose all Compute Engine metadata to pods.
- GKE_METADATA: Run the GKE Metadata Server on this node. The GKE Metadata Server exposes a metadata API to workloads that is compatible with the V1 Compute Metadata APIs exposed by the Compute Engine and App Engine Metadata Servers. This feature can only be enabled if workload identity is enabled at the cluster level.
- mode str
How to expose the node metadata to the workload running on the node. Accepted values are:
- UNSPECIFIED: Not Set
- GCE_METADATA: Expose all Compute Engine metadata to pods.
- GKE_METADATA: Run the GKE Metadata Server on this node. The GKE Metadata Server exposes a metadata API to workloads that is compatible with the V1 Compute Metadata APIs exposed by the Compute Engine and App Engine Metadata Servers. This feature can only be enabled if workload identity is enabled at the cluster level.
- mode String
How to expose the node metadata to the workload running on the node. Accepted values are:
- UNSPECIFIED: Not Set
- GCE_METADATA: Expose all Compute Engine metadata to pods.
- GKE_METADATA: Run the GKE Metadata Server on this node. The GKE Metadata Server exposes a metadata API to workloads that is compatible with the V1 Compute Metadata APIs exposed by the Compute Engine and App Engine Metadata Servers. This feature can only be enabled if workload identity is enabled at the cluster level.
ClusterNodePool
- Autoscaling
Cluster
Node Pool Autoscaling - Initial
Node intCount The number of nodes to create in this cluster's default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_pool
is not set. If you're usinggcp.container.NodePool
objects with no default node pool, you'll need to set this to a value of at least1
, alongside settingremove_default_node_pool
totrue
.- Instance
Group List<string>Urls - Managed
Instance List<string>Group Urls - Management
Cluster
Node Pool Management - Max
Pods intPer Node - Name string
The name of the cluster, unique within the project and location.
- Name
Prefix string - Network
Config ClusterNode Pool Network Config Configuration for Adding Pod IP address ranges) to the node pool. Structure is documented below
- Node
Config ClusterNode Pool Node Config Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePool
or anode_pool
block; this configuration manages the default node pool, which isn't recommended to be used. Structure is documented below.- Node
Count int - Node
Locations List<string> The list of zones in which the cluster's nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone.
- Placement
Policy ClusterNode Pool Placement Policy - Upgrade
Settings ClusterNode Pool Upgrade Settings - Version string
- Autoscaling
Cluster
Node Pool Autoscaling - Initial
Node intCount The number of nodes to create in this cluster's default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_pool
is not set. If you're usinggcp.container.NodePool
objects with no default node pool, you'll need to set this to a value of at least1
, alongside settingremove_default_node_pool
totrue
.- Instance
Group []stringUrls - Managed
Instance []stringGroup Urls - Management
Cluster
Node Pool Management - Max
Pods intPer Node - Name string
The name of the cluster, unique within the project and location.
- Name
Prefix string - Network
Config ClusterNode Pool Network Config Configuration for Adding Pod IP address ranges) to the node pool. Structure is documented below
- Node
Config ClusterNode Pool Node Config Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePool
or anode_pool
block; this configuration manages the default node pool, which isn't recommended to be used. Structure is documented below.- Node
Count int - Node
Locations []string The list of zones in which the cluster's nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone.
- Placement
Policy ClusterNode Pool Placement Policy - Upgrade
Settings ClusterNode Pool Upgrade Settings - Version string
- autoscaling
Cluster
Node Pool Autoscaling - initial
Node IntegerCount The number of nodes to create in this cluster's default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_pool
is not set. If you're usinggcp.container.NodePool
objects with no default node pool, you'll need to set this to a value of at least1
, alongside settingremove_default_node_pool
totrue
.- instance
Group ListUrls - managed
Instance ListGroup Urls - management
Cluster
Node Pool Management - max
Pods IntegerPer Node - name String
The name of the cluster, unique within the project and location.
- name
Prefix String - network
Config ClusterNode Pool Network Config Configuration for Adding Pod IP address ranges) to the node pool. Structure is documented below
- node
Config ClusterNode Pool Node Config Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePool
or anode_pool
block; this configuration manages the default node pool, which isn't recommended to be used. Structure is documented below.- node
Count Integer - node
Locations List The list of zones in which the cluster's nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone.
- placement
Policy ClusterNode Pool Placement Policy - upgrade
Settings ClusterNode Pool Upgrade Settings - version String
- autoscaling
Cluster
Node Pool Autoscaling - initial
Node numberCount The number of nodes to create in this cluster's default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_pool
is not set. If you're usinggcp.container.NodePool
objects with no default node pool, you'll need to set this to a value of at least1
, alongside settingremove_default_node_pool
totrue
.- instance
Group string[]Urls - managed
Instance string[]Group Urls - management
Cluster
Node Pool Management - max
Pods numberPer Node - name string
The name of the cluster, unique within the project and location.
- name
Prefix string - network
Config ClusterNode Pool Network Config Configuration for Adding Pod IP address ranges) to the node pool. Structure is documented below
- node
Config ClusterNode Pool Node Config Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePool
or anode_pool
block; this configuration manages the default node pool, which isn't recommended to be used. Structure is documented below.- node
Count number - node
Locations string[] The list of zones in which the cluster's nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone.
- placement
Policy ClusterNode Pool Placement Policy - upgrade
Settings ClusterNode Pool Upgrade Settings - version string
- autoscaling
Cluster
Node Pool Autoscaling - initial_
node_ intcount The number of nodes to create in this cluster's default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_pool
is not set. If you're usinggcp.container.NodePool
objects with no default node pool, you'll need to set this to a value of at least1
, alongside settingremove_default_node_pool
totrue
.- instance_
group_ Sequence[str]urls - managed_
instance_ Sequence[str]group_ urls - management
Cluster
Node Pool Management - max_
pods_ intper_ node - name str
The name of the cluster, unique within the project and location.
- name_
prefix str - network_
config ClusterNode Pool Network Config Configuration for Adding Pod IP address ranges) to the node pool. Structure is documented below
- node_
config ClusterNode Pool Node Config Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePool
or anode_pool
block; this configuration manages the default node pool, which isn't recommended to be used. Structure is documented below.- node_
count int - node_
locations Sequence[str] The list of zones in which the cluster's nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone.
- placement_
policy ClusterNode Pool Placement Policy - upgrade_
settings ClusterNode Pool Upgrade Settings - version str
- autoscaling Property Map
- initial
Node NumberCount The number of nodes to create in this cluster's default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if
node_pool
is not set. If you're usinggcp.container.NodePool
objects with no default node pool, you'll need to set this to a value of at least1
, alongside settingremove_default_node_pool
totrue
.- instance
Group ListUrls - managed
Instance ListGroup Urls - management Property Map
- max
Pods NumberPer Node - name String
The name of the cluster, unique within the project and location.
- name
Prefix String - network
Config Property Map Configuration for Adding Pod IP address ranges) to the node pool. Structure is documented below
- node
Config Property Map Parameters used in creating the default node pool. Generally, this field should not be used at the same time as a
gcp.container.NodePool
or anode_pool
block; this configuration manages the default node pool, which isn't recommended to be used. Structure is documented below.- node
Count Number - node
Locations List The list of zones in which the cluster's nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone.
- placement
Policy Property Map - upgrade
Settings Property Map - version String
ClusterNodePoolAutoscaling
- Max
Node intCount - Min
Node intCount
- Max
Node intCount - Min
Node intCount
- max
Node IntegerCount - min
Node IntegerCount
- max
Node numberCount - min
Node numberCount
- max_
node_ intcount - min_
node_ intcount
- max
Node NumberCount - min
Node NumberCount
ClusterNodePoolManagement
- Auto
Repair bool - Auto
Upgrade bool
- Auto
Repair bool - Auto
Upgrade bool
- auto
Repair Boolean - auto
Upgrade Boolean
- auto
Repair boolean - auto
Upgrade boolean
- auto_
repair bool - auto_
upgrade bool
- auto
Repair Boolean - auto
Upgrade Boolean
ClusterNodePoolNetworkConfig
- Pod
Range string The ID of the secondary range for pod IPs. If
create_pod_range
is true, this ID is used for the new range. Ifcreate_pod_range
is false, uses an existing secondary range with this ID.- Create
Pod boolRange Whether to create a new range for pod IPs in this node pool. Defaults are provided for
pod_range
andpod_ipv4_cidr_block
if they are not specified.- Pod
Ipv4Cidr stringBlock The IP address range for pod IPs in this node pool. Only applicable if createPodRange 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 CIDR notation (e.g. 10.96.0.0/14) to pick a specific range to use.
- Pod
Range string The ID of the secondary range for pod IPs. If
create_pod_range
is true, this ID is used for the new range. Ifcreate_pod_range
is false, uses an existing secondary range with this ID.- Create
Pod boolRange Whether to create a new range for pod IPs in this node pool. Defaults are provided for
pod_range
andpod_ipv4_cidr_block
if they are not specified.- Pod
Ipv4Cidr stringBlock The IP address range for pod IPs in this node pool. Only applicable if createPodRange 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 CIDR notation (e.g. 10.96.0.0/14) to pick a specific range to use.
- pod
Range String The ID of the secondary range for pod IPs. If
create_pod_range
is true, this ID is used for the new range. Ifcreate_pod_range
is false, uses an existing secondary range with this ID.- create
Pod BooleanRange Whether to create a new range for pod IPs in this node pool. Defaults are provided for
pod_range
andpod_ipv4_cidr_block
if they are not specified.- pod
Ipv4Cidr StringBlock The IP address range for pod IPs in this node pool. Only applicable if createPodRange 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 CIDR notation (e.g. 10.96.0.0/14) to pick a specific range to use.
- pod
Range string The ID of the secondary range for pod IPs. If
create_pod_range
is true, this ID is used for the new range. Ifcreate_pod_range
is false, uses an existing secondary range with this ID.- create
Pod booleanRange Whether to create a new range for pod IPs in this node pool. Defaults are provided for
pod_range
andpod_ipv4_cidr_block
if they are not specified.- pod
Ipv4Cidr stringBlock The IP address range for pod IPs in this node pool. Only applicable if createPodRange 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 CIDR notation (e.g. 10.96.0.0/14) to pick a specific range to use.
- pod_
range str The ID of the secondary range for pod IPs. If
create_pod_range
is true, this ID is used for the new range. Ifcreate_pod_range
is false, uses an existing secondary range with this ID.- create_
pod_ boolrange Whether to create a new range for pod IPs in this node pool. Defaults are provided for
pod_range
andpod_ipv4_cidr_block
if they are not specified.- pod_
ipv4_ strcidr_ block The IP address range for pod IPs in this node pool. Only applicable if createPodRange 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 CIDR notation (e.g. 10.96.0.0/14) to pick a specific range to use.
- pod
Range String The ID of the secondary range for pod IPs. If
create_pod_range
is true, this ID is used for the new range. Ifcreate_pod_range
is false, uses an existing secondary range with this ID.- create
Pod BooleanRange Whether to create a new range for pod IPs in this node pool. Defaults are provided for
pod_range
andpod_ipv4_cidr_block
if they are not specified.- pod
Ipv4Cidr StringBlock The IP address range for pod IPs in this node pool. Only applicable if createPodRange 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 CIDR notation (e.g. 10.96.0.0/14) to pick a specific range to use.
ClusterNodePoolNodeConfig
- Boot
Disk stringKms Key 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/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
- Disk
Size intGb Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
- Disk
Type string Type of the disk attached to each node (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-standard'
- Ephemeral
Storage ClusterConfig Node Pool Node Config Ephemeral Storage Config Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below.
- Gcfs
Config ClusterNode Pool Node Config Gcfs Config Parameters for the Google Container Filesystem (GCFS). If unspecified, GCFS will not be enabled on the node pool. When enabling this feature you must specify
image_type = "COS_CONTAINERD"
andnode_version
from GKE versions 1.19 or later to use it. For GKE versions 1.19, 1.20, and 1.21, the recommended minimumnode_version
would be 1.19.15-gke.1300, 1.20.11-gke.1300, and 1.21.5-gke.1300 respectively. Amachine_type
that has more than 16 GiB of memory is also recommended. GCFS must be enabled in order to use image streaming. Structure is documented below.- Guest
Accelerators List<ClusterNode Pool Node Config Guest Accelerator> List of the type and count of accelerator cards attached to the instance. Structure documented below.
- Gvnic
Cluster
Node Pool Node Config Gvnic Google Virtual NIC (gVNIC) is a virtual network interface. Installing the gVNIC driver allows for more efficient traffic transmission across the Google network infrastructure. gVNIC is an alternative to the virtIO-based ethernet driver. GKE nodes must use a Container-Optimized OS node image. GKE node version 1.15.11-gke.15 or later Structure is documented below.
- Image
Type string The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.
- Kubelet
Config ClusterNode Pool Node Config Kubelet Config Kubelet configuration, currently supported attributes can be found here. Structure is documented below.
- Labels Dictionary<string, string>
The Kubernetes labels (key/value pairs) to be applied to each node. The kubernetes.io/ and k8s.io/ prefixes are reserved by Kubernetes Core components and cannot be specified.
- Linux
Node ClusterConfig Node Pool Node Config Linux Node Config Linux node configuration, currently supported attributes can be found here. Note that validations happen all server side. All attributes are optional. Structure is documented below.
- Local
Ssd intCount 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.
- Machine
Type string The name of a Google Compute Engine machine type. Defaults to
e2-medium
. To create a custom machine type, value should be set as specified here.- Metadata Dictionary<string, string>
The metadata key/value pairs assigned to instances in the cluster. From GKE
1.12
onwards,disable-legacy-endpoints
is set totrue
by the API; ifmetadata
is set but that default value is not included, the provider will attempt to unset the value. To avoid this, set the value in your config.- Min
Cpu stringPlatform 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
Intel Haswell
. See the official documentation for more information.- Node
Group string Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on sole tenant nodes.
- Oauth
Scopes List<string> The set of Google API scopes to be made available on all of the node VMs under the "default" service account. Use the "https://www.googleapis.com/auth/cloud-platform" scope to grant access to all APIs. It is recommended that you set
service_account
to a non-default service account and grant IAM roles to that service account for only the resources that it needs.- Preemptible bool
A boolean that represents whether or not the underlying node VMs are preemptible. See the official documentation for more information. Defaults to false.
- Sandbox
Config ClusterNode Pool Node Config Sandbox Config GKE Sandbox configuration. When enabling this feature you must specify
image_type = "COS_CONTAINERD"
andnode_version = "1.12.7-gke.17"
or later to use it. Structure is documented below.- Service
Account string The service account to be used by the Node VMs. If not specified, the "default" service account is used.
- Shielded
Instance ClusterConfig Node Pool Node Config Shielded Instance Config Shielded Instance options. Structure is documented below.
- Spot bool
) A boolean that represents whether the underlying node VMs are spot. See the official documentation for more information. Defaults to false.
- List<string>
The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls.
- Taints
List<Cluster
Node Pool Node Config Taint> A list of Kubernetes taints to apply to nodes. GKE's API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. If this field is set, any diffs on this field will cause the provider to recreate the underlying resource. Taint values can be updated safely in Kubernetes (eg. through
kubectl
), and it's recommended that you do not use this field to manage taints. If you do,lifecycle.ignore_changes
is recommended. Structure is documented below.- Workload
Metadata ClusterConfig Node Pool Node Config Workload Metadata Config Metadata configuration to expose to workloads on the node pool. Structure is documented below.
- Boot
Disk stringKms Key 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/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
- Disk
Size intGb Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
- Disk
Type string Type of the disk attached to each node (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-standard'
- Ephemeral
Storage ClusterConfig Node Pool Node Config Ephemeral Storage Config Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below.
- Gcfs
Config ClusterNode Pool Node Config Gcfs Config Parameters for the Google Container Filesystem (GCFS). If unspecified, GCFS will not be enabled on the node pool. When enabling this feature you must specify
image_type = "COS_CONTAINERD"
andnode_version
from GKE versions 1.19 or later to use it. For GKE versions 1.19, 1.20, and 1.21, the recommended minimumnode_version
would be 1.19.15-gke.1300, 1.20.11-gke.1300, and 1.21.5-gke.1300 respectively. Amachine_type
that has more than 16 GiB of memory is also recommended. GCFS must be enabled in order to use image streaming. Structure is documented below.- Guest
Accelerators []ClusterNode Pool Node Config Guest Accelerator List of the type and count of accelerator cards attached to the instance. Structure documented below.
- Gvnic
Cluster
Node Pool Node Config Gvnic Google Virtual NIC (gVNIC) is a virtual network interface. Installing the gVNIC driver allows for more efficient traffic transmission across the Google network infrastructure. gVNIC is an alternative to the virtIO-based ethernet driver. GKE nodes must use a Container-Optimized OS node image. GKE node version 1.15.11-gke.15 or later Structure is documented below.
- Image
Type string The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.
- Kubelet
Config ClusterNode Pool Node Config Kubelet Config Kubelet configuration, currently supported attributes can be found here. Structure is documented below.
- Labels map[string]string
The Kubernetes labels (key/value pairs) to be applied to each node. The kubernetes.io/ and k8s.io/ prefixes are reserved by Kubernetes Core components and cannot be specified.
- Linux
Node ClusterConfig Node Pool Node Config Linux Node Config Linux node configuration, currently supported attributes can be found here. Note that validations happen all server side. All attributes are optional. Structure is documented below.
- Local
Ssd intCount 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.
- Machine
Type string The name of a Google Compute Engine machine type. Defaults to
e2-medium
. To create a custom machine type, value should be set as specified here.- Metadata map[string]string
The metadata key/value pairs assigned to instances in the cluster. From GKE
1.12
onwards,disable-legacy-endpoints
is set totrue
by the API; ifmetadata
is set but that default value is not included, the provider will attempt to unset the value. To avoid this, set the value in your config.- Min
Cpu stringPlatform 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
Intel Haswell
. See the official documentation for more information.- Node
Group string Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on sole tenant nodes.
- Oauth
Scopes []string The set of Google API scopes to be made available on all of the node VMs under the "default" service account. Use the "https://www.googleapis.com/auth/cloud-platform" scope to grant access to all APIs. It is recommended that you set
service_account
to a non-default service account and grant IAM roles to that service account for only the resources that it needs.- Preemptible bool
A boolean that represents whether or not the underlying node VMs are preemptible. See the official documentation for more information. Defaults to false.
- Sandbox
Config ClusterNode Pool Node Config Sandbox Config GKE Sandbox configuration. When enabling this feature you must specify
image_type = "COS_CONTAINERD"
andnode_version = "1.12.7-gke.17"
or later to use it. Structure is documented below.- Service
Account string The service account to be used by the Node VMs. If not specified, the "default" service account is used.
- Shielded
Instance ClusterConfig Node Pool Node Config Shielded Instance Config Shielded Instance options. Structure is documented below.
- Spot bool
) A boolean that represents whether the underlying node VMs are spot. See the official documentation for more information. Defaults to false.
- []string
The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls.
- Taints
[]Cluster
Node Pool Node Config Taint A list of Kubernetes taints to apply to nodes. GKE's API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. If this field is set, any diffs on this field will cause the provider to recreate the underlying resource. Taint values can be updated safely in Kubernetes (eg. through
kubectl
), and it's recommended that you do not use this field to manage taints. If you do,lifecycle.ignore_changes
is recommended. Structure is documented below.- Workload
Metadata ClusterConfig Node Pool Node Config Workload Metadata Config Metadata configuration to expose to workloads on the node pool. Structure is documented below.
- boot
Disk StringKms Key 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/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
- disk
Size IntegerGb Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
- disk
Type String Type of the disk attached to each node (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-standard'
- ephemeral
Storage ClusterConfig Node Pool Node Config Ephemeral Storage Config Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below.
- gcfs
Config ClusterNode Pool Node Config Gcfs Config Parameters for the Google Container Filesystem (GCFS). If unspecified, GCFS will not be enabled on the node pool. When enabling this feature you must specify
image_type = "COS_CONTAINERD"
andnode_version
from GKE versions 1.19 or later to use it. For GKE versions 1.19, 1.20, and 1.21, the recommended minimumnode_version
would be 1.19.15-gke.1300, 1.20.11-gke.1300, and 1.21.5-gke.1300 respectively. Amachine_type
that has more than 16 GiB of memory is also recommended. GCFS must be enabled in order to use image streaming. Structure is documented below.- guest
Accelerators ListNode Pool Node Config Guest Accelerator> List of the type and count of accelerator cards attached to the instance. Structure documented below.
- gvnic
Cluster
Node Pool Node Config Gvnic Google Virtual NIC (gVNIC) is a virtual network interface. Installing the gVNIC driver allows for more efficient traffic transmission across the Google network infrastructure. gVNIC is an alternative to the virtIO-based ethernet driver. GKE nodes must use a Container-Optimized OS node image. GKE node version 1.15.11-gke.15 or later Structure is documented below.
- image
Type String The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.
- kubelet
Config ClusterNode Pool Node Config Kubelet Config Kubelet configuration, currently supported attributes can be found here. Structure is documented below.
- labels
Map
The Kubernetes labels (key/value pairs) to be applied to each node. The kubernetes.io/ and k8s.io/ prefixes are reserved by Kubernetes Core components and cannot be specified.
- linux
Node ClusterConfig Node Pool Node Config Linux Node Config Linux node configuration, currently supported attributes can be found here. Note that validations happen all server side. All attributes are optional. Structure is documented below.
- local
Ssd IntegerCount 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.
- machine
Type String The name of a Google Compute Engine machine type. Defaults to
e2-medium
. To create a custom machine type, value should be set as specified here.- metadata
Map
The metadata key/value pairs assigned to instances in the cluster. From GKE
1.12
onwards,disable-legacy-endpoints
is set totrue
by the API; ifmetadata
is set but that default value is not included, the provider will attempt to unset the value. To avoid this, set the value in your config.- min
Cpu StringPlatform 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
Intel Haswell
. See the official documentation for more information.- node
Group String Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on sole tenant nodes.
- oauth
Scopes List The set of Google API scopes to be made available on all of the node VMs under the "default" service account. Use the "https://www.googleapis.com/auth/cloud-platform" scope to grant access to all APIs. It is recommended that you set
service_account
to a non-default service account and grant IAM roles to that service account for only the resources that it needs.- preemptible Boolean
A boolean that represents whether or not the underlying node VMs are preemptible. See the official documentation for more information. Defaults to false.
- sandbox
Config ClusterNode Pool Node Config Sandbox Config GKE Sandbox configuration. When enabling this feature you must specify
image_type = "COS_CONTAINERD"
andnode_version = "1.12.7-gke.17"
or later to use it. Structure is documented below.- service
Account String The service account to be used by the Node VMs. If not specified, the "default" service account is used.
- shielded
Instance ClusterConfig Node Pool Node Config Shielded Instance Config Shielded Instance options. Structure is documented below.
- spot Boolean
) A boolean that represents whether the underlying node VMs are spot. See the official documentation for more information. Defaults to false.
- List
The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls.
- taints
List
Node Pool Node Config Taint> A list of Kubernetes taints to apply to nodes. GKE's API can only set this field on cluster creation. However, GKE will add taints to your nodes if you enable certain features such as GPUs. If this field is set, any diffs on this field will cause the provider to recreate the underlying resource. Taint values can be updated safely in Kubernetes (eg. through
kubectl
), and it's recommended that you do not use this field to manage taints. If you do,lifecycle.ignore_changes
is recommended. Structure is documented below.- workload
Metadata ClusterConfig Node Pool Node Config Workload Metadata Config Metadata configuration to expose to workloads on the node pool. Structure is documented below.
- boot
Disk stringKms Key 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/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption
- disk
Size numberGb Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
- disk
Type string Type of the disk attached to each node (e.g. 'pd-standard', 'pd-balanced' or 'pd-ssd'). If unspecified, the default disk type is 'pd-standard'
- ephemeral
Storage ClusterConfig Node Pool Node Config Ephemeral Storage Config Parameters for the ephemeral storage filesystem. If unspecified, ephemeral storage is backed by the boot disk. Structure is documented below.
- gcfs
Config ClusterNode Pool Node Config Gcfs Config Parameters for the Google Container Filesystem (GCFS). If unspecified, GCFS will not be enabled on the node pool. When enabling this feature you must specify
image_type = "COS_CONTAINERD"
andnode_version
from GKE versions 1.19 or later to use it. For GKE versions 1.19, 1.20, and 1.21, the recommended minimumnode_version
would be 1.19.15-gke.1300, 1.20.11-gke.1300, and 1.21.5-gke.1300 respectively. Amachine_type
that has more than 16 GiB of memory is also recommended. GCFS must be enabled in order to use image streaming. Structure is documented below.- guest
Accelerators ClusterNode Pool Node Config Guest Accelerator[] List of the type and count of accelerator cards attached to the instance. Structure documented below.
- gvnic
Cluster
Node Pool Node Config Gvnic Google Virtual NIC (gVNIC) is a virtual network interface. Installing the gVNIC driver allows for more efficient traffic transmission across the Google network infrastructure. gVNIC is an alternative to the virtIO-based ethernet driver. GKE nodes must use a Container-Optimized OS node image. GKE node version 1.15.11-gke.15 or later Structure is documented below.
- image
Type string The image type to use for this node. Note that changing the image type will delete and recreate all nodes in the node pool.
- kubelet
Config ClusterNode Pool Node Config Kubelet Config Kubelet configuration, currently supported attributes can be found here. Structure is documented below.
- labels {[key: string]: string}
The Kubernetes labels (key/value pairs) to be applied to each node. The kubernetes.io/ and k8s.io/ prefixes are reserved by Kubernetes Core components and cannot be specified.
- linux
Node ClusterConfig Node Pool Node Config Linux Node Config Linux node configuration, currently supported attributes can be found here. Note that validations happen all server side. All attributes are optional. Structure is documented below.
- local
Ssd numberCount 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.
- machine
Type string The name of a Google Compute Engine machine type. Defaults to
e2-medium
. To create a custom machine type, value should be set as specified here.- metadata {[key: string]: string}
The metadata key/value pairs assigned to instances in the cluster. From GKE
1.12
onwards,disable-legacy-endpoints
is set totrue
by the API; ifmetadata
is set but that default value is not inclu