cloud-foundation-fabric/modules/gke-nodepool
Julio Castillo 718f5ceeac Fix gke-nodepool advanced options 2020-05-07 20:28:37 +02:00
..
README.md update gke nodepool README 2020-04-27 09:12:53 +02:00
main.tf Fix gke-nodepool advanced options 2020-05-07 20:28:37 +02:00
outputs.tf Merge development branch (#44) 2020-04-03 14:06:48 +02:00
variables.tf rename workload config variable in gke nodepool and change default 2020-04-27 08:08:31 +02:00
versions.tf Merge development branch (#44) 2020-04-03 14:06:48 +02:00

README.md

GKE nodepool module

This module allows simplified creation and management of individual GKE nodepools, setting sensible defaults (eg a service account is created for nodes if none is set) and allowing for less verbose usage in most use cases.

Example usage

module "cluster-1-nodepool-1" {
  source                      = "../modules/gke-nodepool"
  project_id                  = "myproject"
  cluster_name                = "cluster-1"
  location                    = "europe-west1-b"
  name                        = "nodepool-1"
}

Variables

name description type required default
cluster_name Cluster name. string
location Cluster location. string
project_id Cluster project id. string
autoscaling_config Optional autoscaling configuration. object({...}) null
gke_version Kubernetes nodes version. Ignored if auto_upgrade is set in management_config. string null
initial_node_count Initial number of nodes for the pool. number 1
management_config Optional node management configuration. object({...}) null
max_pods_per_node Maximum number of pods per node. number null
name Optional nodepool name. string null
node_config_disk_size Node disk size, defaults to 100GB. number 100
node_config_disk_type Node disk type, defaults to pd-standard. string pd-standard
node_config_guest_accelerator Map of type and count of attached accelerator cards. map(number) {}
node_config_image_type Nodes image type. string null
node_config_labels Kubernetes labels attached to nodes. map(string) {}
node_config_local_ssd_count Number of local SSDs attached to nodes. number 0
node_config_machine_type Nodes machine type. string n1-standard-1
node_config_metadata Metadata key/value pairs assigned to nodes. Set disable-legacy-endpoints to true when using this variable. map(string) null
node_config_min_cpu_platform Minimum CPU platform for nodes. string null
node_config_oauth_scopes Set of Google API scopes for the nodes service account. Include logging-write, monitoring, and storage-ro when using this variable. list(string) ["logging-write", "monitoring", "monitoring-write", "storage-ro"]
node_config_preemptible Use preemptible VMs for nodes. bool null
node_config_sandbox_config GKE Sandbox configuration. Needs image_type set to COS_CONTAINERD and node_version set to 1.12.7-gke.17 when using this variable. string null
node_config_service_account Service account used for nodes. string null
node_config_shielded_instance_config Shielded instance options. object({...}) null
node_config_tags Network tags applied to nodes. list(string) null
node_count Number of nodes per instance group, can be updated after creation. Ignored when autoscaling is set. number null
node_locations Optional list of zones in which nodes should be located. Uses cluster locations if unset. list(string) null
upgrade_config Optional node upgrade configuration. object({...}) null
workload_metadata_config Metadata configuration to expose to workloads on the node pool. string GKE_METADATA_SERVER

Outputs

name description sensitive
name Nodepool name.