Skip to content

Instantly share code, notes, and snippets.

@lioneltchami
Created July 2, 2022 01:35
Show Gist options
  • Select an option

  • Save lioneltchami/208a174afc2c296c74cb76afd5e241ab to your computer and use it in GitHub Desktop.

Select an option

Save lioneltchami/208a174afc2c296c74cb76afd5e241ab to your computer and use it in GitHub Desktop.
locals {
network_name = "kubernetes-cluster"
subnet_name = "${google_compute_network.vpc.name}--subnet"
cluster_master_ip_cidr_range = "10.100.100.0/28"
cluster_pods_ip_cidr_range = "10.101.0.0/16"
cluster_services_ip_cidr_range = "10.102.0.0/16"
}
resource "google_compute_network" "vpc" {
name = local.network_name
auto_create_subnetworks = false
routing_mode = "GLOBAL"
delete_default_routes_on_create = true
}
resource "google_compute_subnetwork" "subnet" {
name = local.subnet_name
ip_cidr_range = "10.10.0.0/16"
region = var.region
network = google_compute_network.vpc.name
private_ip_google_access = true
}
resource "google_compute_route" "egress_internet" {
name = "egress-internet"
dest_range = "0.0.0.0/0"
network = google_compute_network.vpc.name
next_hop_gateway = "default-internet-gateway"
}
resource "google_compute_router" "router" {
name = "${local.network_name}-router"
region = google_compute_subnetwork.subnet.region
network = google_compute_network.vpc.name
}
resource "google_compute_router_nat" "nat_router" {
name = "${google_compute_subnetwork.subnet.name}-nat-router"
router = google_compute_router.router.name
region = google_compute_router.router.region
nat_ip_allocate_option = "AUTO_ONLY"
source_subnetwork_ip_ranges_to_nat = "LIST_OF_SUBNETWORKS"
subnetwork {
name = google_compute_subnetwork.subnet.name
source_ip_ranges_to_nat = ["ALL_IP_RANGES"]
}
log_config {
enable = true
filter = "ERRORS_ONLY"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment