Skip to content

Instantly share code, notes, and snippets.

@ryanmaclean
Last active April 20, 2023 05:34
Show Gist options
  • Save ryanmaclean/ea823e452544d87241cb00876468fa47 to your computer and use it in GitHub Desktop.
Save ryanmaclean/ea823e452544d87241cb00876468fa47 to your computer and use it in GitHub Desktop.
Vicuna-Generated Terraform AKS Cluster
provider "azurerm" {
version = "2.0"
}
resource "azurerm_resource_group" "example" {
name = "example-rg"
location = "westus2"
}
resource "azurerm_virtual_network" "example" {
name = "example-vnet"
address_space = ["10.0.0.0/16"]
resource_group_name = azurerm_resource_group.example.name
}
resource "azurerm_subnet" "example" {
name = "example-subnet"
resource_group_name = azurerm_resource_group.example.name
virtual_network_name = azurerm_virtual_network.example.name
address_prefix = "10.0.1.0/24"
}
resource "azurerm_public_ip" "example" {
name = "example-pip"
resource_group_name = azurerm_resource_group.example.name
location = "westus2"
allocation_method = "Static"
}
resource "azurerm_network_security_group" "example" {
name = "example-nsg"
resource_group_name = azurerm_resource_group.example.name
security_rule {
name = "RGW"
priority = 100
direction = "Inbound"
access = "Deny"
protocol = "Tcp"
source_port_range = "*"
destination_port_range = "22"
source_address_prefix = "*"
destination_address_prefix = "example.azurewebsites.net"
}
}
resource "azurerm_kubernetes_cluster" "example" {
name = "example-aks"
resource_group_name = azurerm_resource_group.example.name
location = "westus2"
version = "1.19"
kernel_version = "1.19"
os_type = "Linux"
}
# Add the AKS cluster nodes (ARM64)
resource "azurerm_kubernetes_cluster_node_pool" "example" {
name = "example-np"
resource_group_name = azurerm_resource_group.example.name
location = "westus2"
kubernetes_cluster_name = azurerm_kubernetes_cluster.example.name
node_count = 3
vm_size = "Standard_B1s" # ARM64 node size
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment