gke

DeimosCloud/gke/google

Terraform Module HCL GOOGLE

Terraform Module for setting up GKE

Install
module "gke" {
source = "DeimosCloud/gke/google"
version = "1.0.3"
}
plain text: /constructs/tfmod-deimoscloud-gke-google/install.txt
⭐ Source on GitHub 📦 Registry page
README

GKE Cluster Module The GKE Cluster module is used to administer the cluster master for a Google Kubernetes Engine (GKE) Cluster. The Module is adapted from Gruntwork's GKE Module What's in this Repo - Modules The modules directory contains the main modules that should be used in your code - gke-node-pool: Module for creating GKE Node Pools - Examples: Example on how to use this module Doc generation Code formatting and documentation for variables and outputs is generated using pre-commit-terraform hooks which uses terraform-docs. And install terraform-docs with ``bash go get github.com/segmentio/terraform-docs ` or `bash brew install terraform-docs. ` Contributing Report issues/questions/feature requests on in the issues section. Full contributing guidelines are covered here. What is a GKE

Inputs (38)
NameTypeDescriptionDefault
release_channelstring(Optional) The release channel to get upgrades of your GKE clusters from required
subnetworkstringA reference (self link) to the subnetwork to host the cluster in required
cluster_secondary_range_namestringThe name of the secondary range within the subnetwork for the cluster to use required
namestringThe name of the cluster required
alternative_default_service_accountstringAlternative Service Account to be used by the Node VMs. If not specified, the de required
networkstringA reference (self link) to the VPC network to host the cluster in required
services_secondary_range_namestringThe name of the secondary range within the subnetwork for the services to use required
locationstringThe location (region or zone) to host the cluster in required
secrets_encryption_kms_keystringThe Cloud KMS key to use for the encryption of secrets in etcd, e.g: projects/my required
pubsub_topicstringPub sub topic to publish GKE notifications required
projectstringThe project ID to host the cluster in required
gsuite_domain_namestringThe domain name for use with Google security groups in Kubernetes RBAC. If a val required
identity_namespacestringWorkload Identity Namespace. Default sets project based namespace [project_id].s required
enable_pubsub_notificationboolOption to enable GKE pub sub notification required
http_load_balancingboolWhether to enable the http (L7) load balancing addontrue
ip_masq_link_localboolWhether to masquerade traffic to the link-local prefix (169.254.0.0/16).false
resource_labelsmap(any)The GCE resource labels (a map of key/value pairs) to be applied to the cluster.{}
basic_auth_usernamestringThe username used for basic auth; set both this and `basic_auth_password` to "" ""
enable_private_nodesboolControl whether nodes have internal IP addresses only. If enabled, all nodes arefalse
enable_workload_identityboolEnable Workload Identity on the clusterfalse
logging_servicestringThe logging service that the cluster should write logs to. Available options inc"logging.googleapis.com/kubernetes"
kubernetes_versionstringThe Kubernetes version of the masters. If set to 'latest' it will pull latest av"latest"
master_authorized_networks_configlist(any) The desired configuration options for master authorized networks. Omit the nes[]
maintenance_start_timestringTime window specified for daily maintenance operations in RFC3339 format"05:00"
stub_domainsmap(string)Map of stub domains and their resolvers to forward DNS queries for a certain dom{}
disable_public_endpointboolControl whether the master's internal IP address is used as the cluster endpointfalse
ip_masq_resync_intervalstringThe interval at which the agent attempts to sync its ConfigMap file from the dis"60s"
enable_vertical_pod_autoscalingstringWhether to enable Vertical Pod Autoscalingfalse
monitoring_servicestringThe monitoring service that the cluster should write metrics to. Automatically s"monitoring.googleapis.com/kubernetes"
master_ipv4_cidr_blockstringThe IP range in CIDR notation to use for the hosted master network. This range w""
basic_auth_passwordstringThe password used for basic auth; set both this and `basic_auth_username` to "" ""
enable_client_certificate_authenticationboolWhether to enable authentication by x509 certificates. With ABAC disabled, thesefalse
non_masquerade_cidrslist(string)List of strings in CIDR notation that specify the IP address ranges that do not [ "10.0.0.0/8", "172.16.0.0/12", "
descriptionstringThe description of the cluster""
Outputs (8)
public_endpoint — The Public IP address of the cluster master.
client_certificate — Public certificate used by clients to authenticate to the cluster endpoint.
client_key — Private key used by clients to authenticate to the cluster endpoint.
cluster_ca_certificate — The public certificate that is the root of trust for the cluster.
name — The name of the cluster master. This output is used for interpolation with node pools, other modules
master_version — The Kubernetes master version.
endpoint — The IP address of the cluster master. This is private is disable_public_access it true
private_endpoint — The Private IP address of the cluster master.
Resources (1)
google_container_cluster
Details
FrameworkTerraform Module
LanguageHCL
Version1.0.3
Cloud GOOGLE
★ Stars8
Forks10
Total downloads31.7k
Inputs38
Outputs8
Resources1
Examples2
Submodules1
LicenseApache-2.0
NamespaceDeimosCloud
Updated