Azure sandbox that provisions the following:
- VPN
- AKS Cluster with ACI Connector for virtual nodes
- ACI-enabled subnet for Karpenter autoscaling
To use this in your BYOC app, please use the azure-aks runner type:
version = "v1"
[runner]
runner_type = "azure-aks"
[sandbox]
terraform_version = "1.11.3"
[sandbox.public_repo]
directory = "."
repo = "nuonco/azure-aks-sandbox"
branch = "main"This sandbox can be tested outside of nuon by following these steps:
- Ensure you have an Azure account setup and
azinstalled - Create Service Principal Credentials
- Create a
terraform.tfvarswith the correct variable inputs
| Name | Version |
|---|---|
| azapi | ~> 2.4.0 |
| azurerm | ~> 4.34.0 |
| Name | Version |
|---|---|
| azapi | 2.4.0 |
| azurerm | 4.34.0 |
| random | 3.7.2 |
| Name | Source | Version |
|---|---|---|
| aks | Azure/aks/azurerm//v4 | ~> 10.1.0 |
| Name | Type |
|---|---|
| azurerm_container_registry.acr | resource |
| azurerm_dns_zone.public | resource |
| azurerm_private_dns_zone.internal | resource |
| azurerm_subnet.aci | resource |
| random_pet.ssh_key_name | resource |
| azurerm_client_config.current | data source |
| azurerm_resource_group.rg | data source |
| azurerm_subnet.existing | data source |
| azurerm_virtual_network.existing | data source |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| cluster_version | The Kubernetes version to use for the AKS cluster. | string |
"1.33" |
no |
| internal_root_domain | The internal root domain. | string |
n/a | yes |
| location | The location to launch the cluster in | string |
n/a | yes |
| nuon_id | The nuon id for this install. Used for naming purposes. | string |
n/a | yes |
| private_subnet_names | The subnets to deploy private resources into. | string |
n/a | yes |
| public_root_domain | The public root domain. | string |
n/a | yes |
| public_subnet_names | The subnets to deploy public resources into. | string |
n/a | yes |
| resource_group_name | The resource group name where the existing Virtual Network is located. | string |
n/a | yes |
| vnet_name | The name of the existing Virtual Network created by Bicep. | string |
n/a | yes |
| Name | Description |
|---|---|
| account | A map of Azure account attributes: location, subscription_id, client_id, resource_group_name. |
| acr | A map of ACR attributes: id, login_server. |
| cluster | A map of AKS cluster attributes: id, name, client_certificate, client_key, cluster_ca_certificate, cluster_fqdn, oidc_issuer_url, location, kube_config_raw, kube_admin_config_raw. |
| internal_domain | A map of internal domain attributes: nameservers, name, id. |
| public_domain | A map of public domain attributes: nameservers, name, id. |
| vnet | A map of vnet attributes: name, subnet_ids. |