# Organize cluster into a resource group resource "azurerm_resource_group" "cluster" { name = "${var.cluster_name}" location = "${var.region}" } resource "azurerm_virtual_network" "network" { resource_group_name = "${azurerm_resource_group.cluster.name}" name = "${var.cluster_name}" location = "${azurerm_resource_group.cluster.location}" address_space = ["${var.host_cidr}"] } # Subnets - separate subnets for controller and workers because Azure # network security groups are based on IPv4 CIDR rather than instance # tags like GCP or security group membership like AWS resource "azurerm_subnet" "controller" { resource_group_name = "${azurerm_resource_group.cluster.name}" name = "controller" virtual_network_name = "${azurerm_virtual_network.network.name}" address_prefix = "${cidrsubnet(var.host_cidr, 1, 0)}" } resource "azurerm_subnet" "worker" { resource_group_name = "${azurerm_resource_group.cluster.name}" name = "worker" virtual_network_name = "${azurerm_virtual_network.network.name}" address_prefix = "${cidrsubnet(var.host_cidr, 1, 1)}" }