diff --git a/quickstart/101-aks-standard-lb-and-vmss/main.tf b/quickstart/101-aks-standard-lb-and-vmss/main.tf new file mode 100644 index 00000000..4c06f732 --- /dev/null +++ b/quickstart/101-aks-standard-lb-and-vmss/main.tf @@ -0,0 +1,45 @@ +# Generate random resource group name +resource "random_pet" "rg_name" { + prefix = var.resource_group_name_prefix +} + +resource "azurerm_resource_group" "rg" { + location = var.resource_group_location + name = random_pet.rg_name.id +} + +resource "random_pet" "azurerm_kubernetes_cluster_name" { + prefix = "cluster" +} + +resource "random_pet" "azurerm_kubernetes_cluster_dns_prefix" { + prefix = "dns" +} + +resource "azurerm_kubernetes_cluster" "k8s" { + location = azurerm_resource_group.rg.location + name = random_pet.azurerm_kubernetes_cluster_name.id + resource_group_name = azurerm_resource_group.rg.name + dns_prefix = random_pet.azurerm_kubernetes_cluster_dns_prefix.id + + identity { + type = "SystemAssigned" + } + + default_node_pool { + name = "agentpool" + vm_size = "Standard_D2_v2" + node_count = var.node_count + } + linux_profile { + admin_username = var.username + + ssh_key { + key_data = azapi_resource_action.ssh_public_key_gen.output.publicKey + } + } + network_profile { + network_plugin = "kubenet" + load_balancer_sku = "standard" + } +} \ No newline at end of file diff --git a/quickstart/101-aks-standard-lb-and-vmss/outputs.tf b/quickstart/101-aks-standard-lb-and-vmss/outputs.tf new file mode 100644 index 00000000..0d82c446 --- /dev/null +++ b/quickstart/101-aks-standard-lb-and-vmss/outputs.tf @@ -0,0 +1,42 @@ +output "resource_group_name" { + value = azurerm_resource_group.rg.name +} + +output "kubernetes_cluster_name" { + value = azurerm_kubernetes_cluster.k8s.name +} + +output "client_certificate" { + value = azurerm_kubernetes_cluster.k8s.kube_config[0].client_certificate + sensitive = true +} + +output "client_key" { + value = azurerm_kubernetes_cluster.k8s.kube_config[0].client_key + sensitive = true +} + +output "cluster_ca_certificate" { + value = azurerm_kubernetes_cluster.k8s.kube_config[0].cluster_ca_certificate + sensitive = true +} + +output "cluster_password" { + value = azurerm_kubernetes_cluster.k8s.kube_config[0].password + sensitive = true +} + +output "cluster_username" { + value = azurerm_kubernetes_cluster.k8s.kube_config[0].username + sensitive = true +} + +output "host" { + value = azurerm_kubernetes_cluster.k8s.kube_config[0].host + sensitive = true +} + +output "kube_config" { + value = azurerm_kubernetes_cluster.k8s.kube_config_raw + sensitive = true +} \ No newline at end of file diff --git a/quickstart/101-aks-standard-lb-and-vmss/providers.tf b/quickstart/101-aks-standard-lb-and-vmss/providers.tf new file mode 100644 index 00000000..7eff0179 --- /dev/null +++ b/quickstart/101-aks-standard-lb-and-vmss/providers.tf @@ -0,0 +1,26 @@ +terraform { + required_version = ">=1.0" + + required_providers { + azapi = { + source = "azure/azapi" + version = "~>1.5" + } + azurerm = { + source = "hashicorp/azurerm" + version = "~>3.0" + } + random = { + source = "hashicorp/random" + version = "~>3.0" + } + time = { + source = "hashicorp/time" + version = "0.9.1" + } + } +} + +provider "azurerm" { + features {} +} \ No newline at end of file diff --git a/quickstart/101-aks-standard-lb-and-vmss/variablles.tf b/quickstart/101-aks-standard-lb-and-vmss/variablles.tf new file mode 100644 index 00000000..1eada683 --- /dev/null +++ b/quickstart/101-aks-standard-lb-and-vmss/variablles.tf @@ -0,0 +1,29 @@ +variable "resource_group_location" { + type = string + default = "eastus" + description = "Location of the resource group." +} + +variable "resource_group_name_prefix" { + type = string + default = "rg" + description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription." +} + +variable "node_count" { + type = number + description = "The initial quantity of nodes for the node pool." + default = 3 +} + +variable "msi_id" { + type = string + description = "The Managed Service Identity ID. Set this value if you're running this example using Managed Identity as the authentication method." + default = null +} + +variable "username" { + type = string + description = "The admin username for the new cluster." + default = "azureadmin" +} \ No newline at end of file