Name | Version |
---|---|
terraform | >= 1.6.3 |
azurerm | 4.14.0 |
Name | Version |
---|---|
azurerm | 4.14.0 |
No modules.
Name | Type |
---|---|
azurerm_kubernetes_cluster.main | resource |
azurerm_role_assignment.main | resource |
azurerm_log_analytics_workspace.main | data source |
azurerm_resource_group.rg | data source |
azurerm_subnet.subnet | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
acr_id | The ID of the Azure Container Registry to allow ACR Pull from the Service Principal or Managed Identity. | string |
null |
no |
admin_username | The admin username for the Kubernetes cluster. Changing this will recreate the resource. | string |
"azureadmin" |
no |
agents_count | The initial number of nodes in the node pool. The value must be between 1 and 1000, and within the min_count and max_count range. | number |
1 |
no |
agents_name | The name of the default Kubernetes Node Pool. Changing this will recreate the resource. | string |
"nodepool" |
no |
agents_size | The size of the Virtual Machine instances in the node pool (e.g., 'Standard_DS2_v2'). Changing this will recreate the resource. | string |
"Standard_B2s" |
no |
aks_sku_tier | The SKU tier for the Kubernetes Cluster. Possible values are 'Free' and 'Paid' (includes uptime SLA). Defaults to 'Free'. | string |
"Free" |
no |
aks_version | The version of Kubernetes to use when creating the AKS managed cluster. If not specified, the latest recommended version will be used, but it won't auto-upgrade. | string |
"1.30.3" |
no |
auto_scaler_balance_similar_node_groups | Balance similar node groups in the auto-scaler profile. | bool |
false |
no |
auto_scaler_max_graceful_termination_sec | Maximum number of seconds for graceful termination in the auto-scaler profile. | number |
600 |
no |
auto_scaler_scale_down_delay_after_add | Scale-down delay after node addition in the auto-scaler profile. | string |
"10m" |
no |
auto_scaler_scale_down_utilization_threshold | Utilization threshold for scaling down in the auto-scaler profile. | number |
0.5 |
no |
auto_scaler_scan_interval | Scan interval for the auto-scaler profile. | string |
"10s" |
no |
auto_scaler_skip_nodes_with_local_storage | Skip nodes with local storage when scaling down. | bool |
false |
no |
auto_scaling_max_count | The maximum number of nodes for auto-scaling. | number |
3 |
no |
auto_scaling_min_count | The minimum number of nodes for auto-scaling. | number |
1 |
no |
automatic_upgrade_channel | The upgrade channel for the Kubernetes cluster. Valid options are 'patch', 'rapid', 'node-image', and 'stable'. Omitting this sets the value to 'none'. | string |
"none" |
no |
azure_policy_enabled | Enable Azure Policy for the AKS cluster. | bool |
false |
no |
client_id | The Client ID associated with the Service Principal. | string |
null |
no |
client_secret | The Client Secret associated with the Service Principal. | string |
null |
no |
cluster_name | The name of the Managed Kubernetes Cluster to create. Changing this will recreate the resource. | string |
n/a | yes |
default_tags | A mapping of tags to assign to the resources for organization and management purposes. | map(any) |
null |
no |
dns_prefix_name | DNS prefix specified when creating the managed cluster. Must begin and end with a letter or number, contain only letters, numbers, and hyphens, and be between 1 and 54 characters long. Changing this will recreate the resource. | string |
"" |
no |
dns_service_ip | The IP address within the Kubernetes service address range for cluster service discovery (kube-dns). Changing this will recreate the resource. | string |
"172.16.2.11" |
no |
enable_attach_acr | Enable Azure Container Registry (ACR) Pull attach. Requires the 'acr_id' variable to be defined. | bool |
false |
no |
enable_auto_scaling | Enable auto-scaling for the default node pool. | bool |
false |
no |
enable_ingress_application_gateway | Whether to enable the ingress application gateway for traffic routing to the cluster. | bool |
false |
no |
enable_microsoft_defender | Enable Microsoft Defender in the AKS cluster for security scanning and protection. | bool |
false |
no |
enable_oms_agent | Enable the OMS (Operations Management Suite) agent in the AKS cluster. | bool |
false |
no |
enable_upgrade_settings | Enable or disable upgrade settings for the default node pool during an AKS upgrade. | bool |
false |
no |
enable_workload_autoscaler_profile | Specifies whether the workload autoscaler profile block should be enabled in the AKS cluster. | bool |
false |
no |
environment | The environment used for the backend container name key (e.g., 'dev', 'test', 'prod'). | string |
"dev" |
no |
http_application_routing_enabled | Enable HTTP Application Routing in the AKS cluster. | bool |
false |
no |
image_cleaner_enabled | Enable the image cleaner in the AKS cluster. | bool |
false |
no |
image_cleaner_interval_hours | The interval in hours for the image cleaner to run in the AKS cluster. | number |
24 |
no |
ingress_gateway_id | Optional: The ID of the Application Gateway to integrate with the ingress controller. | string |
null |
no |
ingress_gateway_name | Optional: The name of the Application Gateway to be used or created for ingress traffic. | string |
null |
no |
ingress_gateway_subnet_cidr | Optional: The CIDR block for the subnet where the Application Gateway will be deployed. | string |
null |
no |
ingress_gateway_subnet_id | Optional: The ID of the subnet where the Application Gateway will be deployed. | string |
null |
no |
load_balancer_sku | The SKU for the Load Balancer used by the Kubernetes Cluster. Supported values are 'Basic' and 'Standard'. Defaults to 'Standard'. | string |
"standard" |
no |
local_account_disabled | Disable local accounts in the AKS cluster. | bool |
false |
no |
max_pods | The maximum number of pods that can run on each agent. Changing this will recreate the resource. | number |
60 |
no |
msi_auth_for_monitoring_enabled | Enable Managed Service Identity (MSI) authentication for monitoring in the OMS agent. | bool |
false |
no |
name_log_analytics_workspace | The name of the Log Analytics Workspace to be created. | string |
null |
no |
network_plugin | The network plugin to use for networking within the cluster. Supported values are 'azure', 'kubenet', and 'none'. Changing this will recreate the resource. | string |
"kubenet" |
no |
network_policy | The network policy to use with Azure CNI. Network policies control traffic flow between pods. Supported values are 'calico' and 'azure'. Changing this will recreate the resource. | string |
null |
no |
node_os_upgrade_channel | The upgrade channel for the OS image of Kubernetes cluster nodes. Valid options are 'Unmanaged', 'SecurityPatch', 'NodeImage', and 'None'. Defaults to 'None'. | string |
"None" |
no |
os_disk_size_gb | The size (in GB) of the OS disk for each agent in the Node Pool. Changing this will recreate the resource. | number |
120 |
no |
outbound_type | The outbound (egress) routing method for the Kubernetes Cluster. Supported values are 'loadBalancer', 'userDefinedRouting', 'managedNATGateway', and 'userAssignedNATGateway'. Defaults to 'loadBalancer'. | string |
"loadBalancer" |
no |
private_cluster_enabled | Indicates whether the Kubernetes API server should be exposed only on internal IP addresses, providing a private IP for the Kubernetes API within the Virtual Network. Defaults to false. Changing this will recreate the resource. | bool |
false |
no |
public_ssh_key | The public SSH key used to access the Kubernetes cluster. Changing this will recreate the resource. | string |
null |
no |
rbac | Specifies whether Role-Based Access Control (RBAC) should be enabled for the Kubernetes Cluster. Defaults to true. Changing this will recreate the resource. | bool |
true |
no |
region | The region in which the resources will be deployed. | string |
"weu" |
no |
resource_group_location | The location or region where the virtual network is created. Changing this will recreate the resource. | string |
"West Europe" |
no |
resource_group_name | The name of the resource group in which the virtual network will be created. | string |
n/a | yes |
service_cidr | The network range used for Kubernetes services. Changing this will recreate the resource. | string |
"172.16.2.0/24" |
no |
solution_name | The name of the solution to be deployed. Changing this will recreate the resource. | string |
"ContainerInsights" |
no |
subnet_name | The name of the subnet where the Kubernetes cluster will be deployed. | string |
n/a | yes |
upgrade_settings_drain_timeout_in_minutes | The number of minutes to wait for eviction of pods and graceful termination per node during an upgrade. | number |
null |
no |
upgrade_settings_max_surge | The maximum number or percentage of nodes to be added to the Node Pool size during an upgrade. | string |
null |
no |
upgrade_settings_node_soak_duration_in_minutes | The amount of time in minutes to wait after draining a node before re-imaging it and moving on to the next node during an upgrade. | number |
null |
no |
use_service_principal | Set to true to use a service principal for authentication, or false to use a managed identity. | bool |
true |
no |
vnet_name | The name of the Virtual Network for the Kubernetes cluster. | string |
n/a | yes |
vnet_rg_name | The name of the Resource Group that contains the Virtual Network. | string |
n/a | yes |
workload_autoscaler_keda_enabled | Specifies whether the KEDA (Kubernetes Event-driven Autoscaling) Autoscaler can be used for workloads in the AKS cluster. | bool |
false |
no |
workload_autoscaler_vpa_enabled | Specifies whether the Vertical Pod Autoscaler (VPA) should be enabled for automatically adjusting the resources of running pods. | bool |
false |
no |
Name | Description |
---|---|
client_certificate | The base64-encoded public certificate used by clients to authenticate to the Kubernetes cluster. |
client_key | The base64-encoded private key used by clients to authenticate to the Kubernetes cluster. |
cluster_ca_certificate | The base64-encoded public Certificate Authority (CA) certificate used as the root of trust for the Kubernetes cluster. |
cluster_password | The password or token used for authentication to the Kubernetes cluster. |
cluster_username | The username used for authentication to the Kubernetes cluster. |
host | The host URL of the Kubernetes cluster server. |
id | The unique identifier (ID) of the Kubernetes Managed Cluster. |
kube_config | The raw kube_config block for the Kubernetes cluster as defined below. |