diff --git a/cloud/gcp/gks.tf b/cloud/gcp/gks.tf new file mode 100644 index 0000000000..cf0a521973 --- /dev/null +++ b/cloud/gcp/gks.tf @@ -0,0 +1,31 @@ +variable "gke_num_nodes" { + type = number + default = "1" + description = "number of gke nodes" +} + +#GKE CLUSTER +resource "google_container_cluster" "biot" { + name = "${var.gcp_project_id}-gke" + location = var.gcp_region + + # We can't create a cluster with no node pool defined, but we want to only use + # separately managed node pools. So we create the smallest possible default + # node pool and immediately delete it. + + remove_default_node_pool = true + initial_node_count = 1 +} + +# Separately Managed Node Pool +resource "google_container_node_pool" "node_pool" { + name = "${var.gcp_project_id}-node-pool" + location = var.gcp_region + cluster = var.gcp_project_id + node_count = var.gke_num_nodes + + node_config { + preemptible = true + machine_type = "e2-medium" + } +} \ No newline at end of file diff --git a/cloud/gcp/vpc.tf b/cloud/gcp/vpc.tf new file mode 100644 index 0000000000..9c5958384e --- /dev/null +++ b/cloud/gcp/vpc.tf @@ -0,0 +1,18 @@ +variable "gcp_vpc_name" { + type = string + description = "vpc name" +} + +# VPC +resource "google_compute_network" "vpc" { + name = "${var.gcp_vpc_name}-vpc" + auto_create_subnetworks = "false" +} + +# Subnet +resource "google_compute_subnetwork" "subnet" { + name = "${var.gcp_vpc_name}-subnet" + region = var.gcp_region + network = google_compute_network.vpc.name + ip_cidr_range = "10.10.0.0/24" +} \ No newline at end of file