Add terraform
This commit is contained in:
parent
0d635b9a0e
commit
56f1f94694
6 changed files with 173 additions and 1 deletions
31
terraform/dev/gke.tf
Normal file
31
terraform/dev/gke.tf
Normal file
|
@ -0,0 +1,31 @@
|
|||
module "gke" {
|
||||
source = "terraform-google-modules/kubernetes-engine/google//modules/private-cluster"
|
||||
project_id = var.project_id
|
||||
|
||||
name = var.gke_name
|
||||
|
||||
regional = false
|
||||
region = var.region
|
||||
zones = [var.zone]
|
||||
|
||||
network = module.vpc.network_name
|
||||
subnetwork = module.vpc.subnets["${var.region}/${var.gke_subnet_name}"].name
|
||||
|
||||
ip_range_pods = "secondary-range-pods"
|
||||
ip_range_services = "secondary-range-services"
|
||||
|
||||
create_service_account = false
|
||||
service_account = null
|
||||
|
||||
enable_private_endpoint = false
|
||||
enable_private_nodes = true
|
||||
|
||||
master_ipv4_cidr_block = var.gke_cidr_range_master
|
||||
|
||||
master_authorized_networks = [
|
||||
{
|
||||
cidr_block = "0.0.0.0/0"
|
||||
display_name = "Public"
|
||||
},
|
||||
]
|
||||
}
|
32
terraform/dev/network.tf
Normal file
32
terraform/dev/network.tf
Normal file
|
@ -0,0 +1,32 @@
|
|||
module "vpc" {
|
||||
source = "terraform-google-modules/network/google"
|
||||
version = "~> 2.5"
|
||||
|
||||
project_id = var.project_id
|
||||
network_name = var.network_name
|
||||
routing_mode = "GLOBAL"
|
||||
|
||||
subnets = [
|
||||
{
|
||||
subnet_name = var.gke_subnet_name
|
||||
subnet_ip = var.gke_subnet_cidr_range
|
||||
subnet_region = var.region
|
||||
subnet_private_access = "true"
|
||||
subnet_flow_logs = "true"
|
||||
description = "Gke subnet for microservices demo"
|
||||
},
|
||||
]
|
||||
|
||||
secondary_ranges = {
|
||||
"${var.gke_subnet_name}" = [
|
||||
{
|
||||
range_name = "secondary-range-pods"
|
||||
ip_cidr_range = var.gke_subnet_cidr_range_pod
|
||||
},
|
||||
{
|
||||
range_name = "secondary-range-services"
|
||||
ip_cidr_range = var.gke_subnet_cidr_range_services
|
||||
},
|
||||
]
|
||||
}
|
||||
}
|
7
terraform/dev/outputs.tf
Normal file
7
terraform/dev/outputs.tf
Normal file
|
@ -0,0 +1,7 @@
|
|||
output "vpc" {
|
||||
value = module.vpc
|
||||
}
|
||||
|
||||
output "gke" {
|
||||
value = module.gke
|
||||
}
|
17
terraform/dev/terraform.tfvars
Normal file
17
terraform/dev/terraform.tfvars
Normal file
|
@ -0,0 +1,17 @@
|
|||
## Project
|
||||
project_id = "cloudcover-sandbox"
|
||||
region = "asia-southeast1"
|
||||
zone = "asia-southeast1-a"
|
||||
|
||||
## Network
|
||||
network_name = "microservice-demo"
|
||||
|
||||
## GKE
|
||||
### Subnet
|
||||
gke_subnet_name = "gke-subnet"
|
||||
gke_subnet_cidr_range = "10.10.10.0/24"
|
||||
gke_subnet_cidr_range_pod = "192.168.0.0/22"
|
||||
gke_subnet_cidr_range_services = "192.168.4.0/22"
|
||||
### Config
|
||||
gke_name = "microservices-demo-gke"
|
||||
gke_cidr_range_master = "172.16.0.0/28"
|
50
terraform/dev/variables.tf
Normal file
50
terraform/dev/variables.tf
Normal file
|
@ -0,0 +1,50 @@
|
|||
variable "project_id" {
|
||||
description = "Project id"
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "region" {
|
||||
description = "Project region"
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "zone" {
|
||||
description = "Project zone"
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "network_name" {
|
||||
description = "Name of the vpc network"
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "gke_subnet_name" {
|
||||
description = "Name of the gke subnet"
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "gke_subnet_cidr_range" {
|
||||
description = "Cidr range for gke subnet"
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "gke_subnet_cidr_range_pod" {
|
||||
description = "Cidr range for gke subnet pods"
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "gke_subnet_cidr_range_services" {
|
||||
description = "Cidr range for gke subnet services"
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "gke_cidr_range_master" {
|
||||
description = "Cidr range for gke subnet master ipv4"
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "gke_name" {
|
||||
description = "Name for GKE cluster"
|
||||
type = string
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue