Skip to content

An opinionated Terraform module that can be used to create and manage a GKE cluster in Google Cloud Platform in a simplified way.

License

Notifications You must be signed in to change notification settings

isovalent/terraform-gcp-gke

Repository files navigation

terraform-gcp-gke

An opinionated Terraform module that can be used to create and manage a GKE cluster in Google Cloud Platform in a simplified way.

External dependencies

This module depends on the following external tools:

Requirements

Name Version
terraform >= 1.2.0
google >= 4.36.0
null >= 3.1.1

Providers

Name Version
external n/a
null >= 3.1.1

Modules

Name Source Version
main terraform-google-modules/kubernetes-engine/google 30.3.0

Resources

Name Type
null_resource.kubeconfig resource
external_external.external_ips data source

Inputs

Name Description Type Default Required
additional_ip_range_pods additional_ip_range_pods list(any) [] no
deletion_protection Whether to enable deletion protection for the GKE cluster. bool false no
enable_workload_identity Whether to enable workload identity. If enabled, 'netd' is deployed by GKE. bool false no
kubernetes_version The version of Kubernetes/GKE to use. string n/a yes
name The name of the GKE cluster. string n/a yes
node_pools A map describing the set of node pools to create.
map(object({
auto_upgrade = bool
auto_repair = bool
image_type = string
instance_type = string
max_nodes = number
min_nodes = number
preemptible = bool
root_volume_size = number
root_volume_type = string
pod_range = string
taints = list(object({
effect = string
key = string
value = string
}))
}))
n/a yes
pod_cidr_name The name of the secondary CIDR used for pods. Must be created separately as a secondary CIDR on the subnet used for the cluster. string n/a yes
project_id The ID of the project in which to create the GKE cluster. string n/a yes
region The region in which to create the GKE cluster. string n/a yes
release_channel The release channel to use (one of 'STABLE', 'RAPID' or 'REGULAR') string "STABLE" no
service_cidr_name The name of the secondary CIDR used for services. Must be created separately as a secondary CIDR on the subnet used for the cluster. string n/a yes
subnet_id The ID of the subnet in which to create the GKE cluster. string n/a yes
tags The set of tags to place on the GKE cluster. map(string) n/a yes
vpc_id The ID of the VPC in which to create the GKE cluster. string n/a yes

Outputs

Name Description
external_ips External IPs of the nodes
id n/a
path_to_kubeconfig_file n/a
zones n/a

License

Copyright 2022 Isovalent, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

An opinionated Terraform module that can be used to create and manage a GKE cluster in Google Cloud Platform in a simplified way.

Resources

License

Stars

Watchers

Forks

Packages

No packages published