Slide 19
Slide 19 text
OraOperatorデモ: 環境セットアップ
19
GKEをプロビジョニングしたTerraformコード
# ./module/network/main.tf
resource "google_compute_network" "main" {
name = "${var.project_name}-network"
auto_create_subnetworks = false
routing_mode = "GLOBAL"
mtu = 1460
}
resource "google_compute_subnetwork" "main" {
name = "${var.project_name}-subnetwork"
network = google_compute_network.main.id
region = var.region
ip_cidr_range = var.subnetwork.primary_ip_cidr
secondary_ip_range {
range_name = "${var.project_name}-range-pods"
ip_cidr_range = var.subnetwork.secondary_ip_pods_cidr
}
secondary_ip_range {
range_name = "${var.project_name}-range-services"
ip_cidr_range = var.subnetwork.secondary_ip_services_cidr
}
}
# ./main.tf
module "network" {
source = "./modules/network"
project_name = var.project_id
region = var.region
subnetwork = {
primary_ip_cidr = var.subnetwork.primary_ip_cidr
secondary_ip_pods_cidr = cidrsubnet(var.subnetwork.secondary_ip_cidr, 4, 0)
secondary_ip_services_cidr = cidrsubnet(var.subnetwork.secondary_ip_cidr, 4, 1)
}
}
# ./main.tf
module "gke" {
source = "terraform-google-modules/kubernetes-engine/google"
version = "31.1.0"
project_id = var.project_id
name = "${var.project_id}-cluster"
regional = false
region = var.region
zones = ["${var.region}-a", "${var.region}-b", "${var.region}-c"]
network = module.network.network_name
subnetwork = module.network.subnetwork_name
# ip_range_pods with /20 CIDR block
## witch is 4096 addresses and 16 nodes in max.
ip_range_pods = module.network.subnetwork_secondary_ip_cidr_pods_range_name
# ip_range_services with /20 CIDR block
## witch is 4096 services.
ip_range_services = module.network.subnetwork_secondary_ip_cidr_services_range_name
create_service_account = true
enable_binary_authorization = false
deletion_protection = false
stateful_ha = true
node_pools = [
{
name = "default-pool"
machine_type = "e2-standard-8"
min_count = 0
max_count = 1
disk_size_gb = 20
disk_type = "pd-standard"
local_ssd_count = 0
preemptible = true
initial_node_count = 1
}
]
remove_default_node_pool = true
}