add_cluster_firewall_rules |
Create additional firewall rules |
bool |
false |
no |
add_master_webhook_firewall_rules |
Create master_webhook firewall rules for ports defined in firewall_inbound_ports |
bool |
false |
no |
add_shadow_firewall_rules |
Create GKE shadow firewall (the same as default firewall rules with firewall logs enabled). |
bool |
false |
no |
authenticator_security_group |
The name of the RBAC security group for use with Google security groups in Kubernetes RBAC. Group name must be in format [email protected] |
string |
null |
no |
cluster_autoscaling |
Cluster autoscaling configuration. See more details |
object({ enabled = bool min_cpu_cores = number max_cpu_cores = number min_memory_gb = number max_memory_gb = number gpu_resources = list(object({ resource_type = string, minimum = number, maximum = number })) }) |
{ "enabled": false, "gpu_resources": [], "max_cpu_cores": 0, "max_memory_gb": 0, "min_cpu_cores": 0, "min_memory_gb": 0 } |
no |
cluster_ipv4_cidr |
The IP address range of the kubernetes pods in this cluster. Default is an automatically assigned CIDR. |
string |
null |
no |
cluster_resource_labels |
The GCE resource labels (a map of key/value pairs) to be applied to the cluster |
map(string) |
{} |
no |
configure_ip_masq |
Enables the installation of ip masquerading, which is usually no longer required when using aliasied IP addresses. IP masquerading uses a kubectl call, so when you have a private cluster, you will need access to the API server. |
bool |
false |
no |
create_service_account |
Defines if service account specified to run nodes should be created. |
bool |
true |
no |
database_encryption |
Application-layer Secrets Encryption settings. The object format is {state = string, key_name = string}. Valid values of state are: "ENCRYPTED"; "DECRYPTED". key_name is the name of a CloudKMS key. |
list(object({ state = string, key_name = string })) |
[ { "key_name": "", "state": "DECRYPTED" } ] |
no |
datapath_provider |
The desired datapath provider for this cluster. By default, DATAPATH_PROVIDER_UNSPECIFIED enables the IPTables-based kube-proxy implementation. ADVANCED_DATAPATH enables Dataplane-V2 feature. |
string |
"DATAPATH_PROVIDER_UNSPECIFIED" |
no |
default_max_pods_per_node |
The maximum number of pods to schedule per node |
number |
110 |
no |
description |
The description of the cluster |
string |
"" |
no |
disable_legacy_metadata_endpoints |
Disable the /0.1/ and /v1beta1/ metadata server endpoints on the node. Changing this value will cause all node pools to be recreated. |
bool |
true |
no |
enable_binary_authorization |
Enable BinAuthZ Admission controller |
bool |
false |
no |
enable_network_egress_export |
Whether to enable network egress metering for this cluster. If enabled, a daemonset will be created in the cluster to meter network egress traffic. |
bool |
false |
no |
enable_resource_consumption_export |
Whether to enable resource consumption metering on this cluster. When enabled, a table will be created in the resource export BigQuery dataset to store resource consumption data. The resulting table can be joined with the resource usage table or with BigQuery billing export. |
bool |
true |
no |
enable_shielded_nodes |
Enable Shielded Nodes features on all nodes in this cluster |
bool |
true |
no |
enable_vertical_pod_autoscaling |
Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it |
bool |
false |
no |
filestore_csi_driver |
The status of the Filestore CSI driver addon, which allows the usage of filestore instance as volumes |
bool |
false |
no |
firewall_inbound_ports |
List of TCP ports for admission/webhook controllers. Either flag add_master_webhook_firewall_rules or add_cluster_firewall_rules (also adds egress rules) must be set to true for inbound-ports firewall rules to be applied. |
list(string) |
[ "8443", "9443", "15017" ] |
no |
firewall_priority |
Priority rule for firewall rules |
number |
1000 |
no |
grant_registry_access |
Grants created cluster-specific service account storage.objectViewer and artifactregistry.reader roles. |
bool |
false |
no |
horizontal_pod_autoscaling |
Enable horizontal pod autoscaling addon |
bool |
true |
no |
http_load_balancing |
Enable httpload balancer addon |
bool |
true |
no |
identity_namespace |
The workload pool to attach all Kubernetes service accounts to. (Default value of enabled automatically sets project-based pool [project_id].svc.id.goog ) |
string |
"enabled" |
no |
initial_node_count |
The number of nodes to create in this cluster's default node pool. |
number |
0 |
no |
ip_masq_link_local |
Whether to masquerade traffic to the link-local prefix (169.254.0.0/16). |
bool |
false |
no |
ip_masq_resync_interval |
The interval at which the agent attempts to sync its ConfigMap file from the disk. |
string |
"60s" |
no |
ip_range_pods |
The name of the secondary subnet ip range to use for pods |
string |
n/a |
yes |
ip_range_services |
The name of the secondary subnet range to use for services |
string |
n/a |
yes |
issue_client_certificate |
Issues a client certificate to authenticate to the cluster endpoint. To maximize the security of your cluster, leave this option disabled. Client certificates don't automatically rotate and aren't easily revocable. WARNING: changing this after cluster creation is destructive! |
bool |
false |
no |
kubernetes_version |
The Kubernetes version of the masters. If set to 'latest' it will pull latest available version in the selected region. |
string |
"latest" |
no |
logging_service |
The logging service that the cluster should write logs to. Available options include logging.googleapis.com, logging.googleapis.com/kubernetes (beta), and none |
string |
"logging.googleapis.com/kubernetes" |
no |
maintenance_end_time |
Time window specified for recurring maintenance operations in RFC3339 format |
string |
"" |
no |
maintenance_exclusions |
List of maintenance exclusions. A cluster can have up to three |
list(object({ name = string, start_time = string, end_time = string, exclusion_scope = string })) |
[] |
no |
maintenance_recurrence |
Frequency of the recurring maintenance window in RFC5545 format. |
string |
"" |
no |
maintenance_start_time |
Time window specified for daily or recurring maintenance operations in RFC3339 format |
string |
"05:00" |
no |
master_authorized_networks |
List of master authorized networks. If none are provided, disallow external access (except the cluster node IPs, which GKE automatically whitelists). |
list(object({ cidr_block = string, display_name = string })) |
[] |
no |
monitoring_service |
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, monitoring.googleapis.com/kubernetes (beta) and none |
string |
"monitoring.googleapis.com/kubernetes" |
no |
name |
The name of the cluster (required) |
string |
n/a |
yes |
network |
The VPC network to host the cluster in (required) |
string |
n/a |
yes |
network_policy |
Enable network policy addon |
bool |
false |
no |
network_policy_provider |
The network policy provider. |
string |
"CALICO" |
no |
network_project_id |
The project ID of the shared VPC's host (for shared vpc support) |
string |
"" |
no |
node_metadata |
Specifies how node metadata is exposed to the workload running on the node |
string |
"GKE_METADATA" |
no |
node_pools |
List of maps containing node pools |
list(map(string)) |
[ { "name": "default-node-pool" } ] |
no |
node_pools_labels |
Map of maps containing node labels by node-pool name |
map(map(string)) |
{ "all": {}, "default-node-pool": {} } |
no |
node_pools_metadata |
Map of maps containing node metadata by node-pool name |
map(map(string)) |
{ "all": {}, "default-node-pool": {} } |
no |
node_pools_oauth_scopes |
Map of lists containing node oauth scopes by node-pool name |
map(list(string)) |
{ "all": [ "https://www.googleapis.com/auth/cloud-platform" ], "default-node-pool": [] } |
no |
node_pools_tags |
Map of lists containing node network tags by node-pool name |
map(list(string)) |
{ "all": [], "default-node-pool": [] } |
no |
node_pools_taints |
Map of lists containing node taints by node-pool name |
map(list(object({ key = string, value = string, effect = string }))) |
{ "all": [], "default-node-pool": [] } |
no |
non_masquerade_cidrs |
List of strings in CIDR notation that specify the IP address ranges that do not use IP masquerading. |
list(string) |
[ "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16" ] |
no |
project_id |
The project ID to host the cluster in (required) |
string |
n/a |
yes |
region |
The region to host the cluster in (optional if zonal cluster / required if regional) |
string |
null |
no |
regional |
Whether is a regional cluster (zonal cluster if set false. WARNING: changing this after cluster creation is destructive!) |
bool |
true |
no |
registry_project_ids |
Projects holding Google Container Registries. If empty, we use the cluster project. If a service account is created and the grant_registry_access variable is set to true , the storage.objectViewer and artifactregsitry.reader roles are assigned on these projects. |
list(string) |
[] |
no |
release_channel |
The release channel of this cluster. Accepted values are UNSPECIFIED , RAPID , REGULAR and STABLE . Defaults to UNSPECIFIED . |
string |
null |
no |
remove_default_node_pool |
Remove default node pool while setting up the cluster |
bool |
false |
no |
resource_usage_export_dataset_id |
The ID of a BigQuery Dataset for using BigQuery as the destination of resource usage export. |
string |
"" |
no |
service_account |
The service account to run nodes as if not overridden in node_pools . The create_service_account variable default value (true) will cause a cluster-specific service account to be created. |
string |
"" |
no |
shadow_firewall_rules_priority |
The firewall priority of GKE shadow firewall rules. The priority should be less than default firewall, which is 1000. |
number |
999 |
no |
skip_provisioners |
Flag to skip all local-exec provisioners. It breaks stub_domains and upstream_nameservers variables functionality. |
bool |
false |
no |
stub_domains |
Map of stub domains and their resolvers to forward DNS queries for a certain domain to an external DNS server |
map(list(string)) |
{} |
no |
subnetwork |
The subnetwork to host the cluster in (required) |
string |
n/a |
yes |
timeouts |
Timeout for cluster operations. |
map(string) |
{} |
no |
upstream_nameservers |
If specified, the values replace the nameservers taken by default from the node’s /etc/resolv.conf |
list(string) |
[] |
no |
zones |
The zones to host the cluster in (optional if regional cluster / required if zonal) |
list(string) |
[] |
no |
请发表评论