aks

Azure/aks/azurerm

Terraform Module HCL AZURERM ✓ Verified

Terraform Module for deploying an AKS cluster

Install
module "aks" {
source = "Azure/aks/azurerm"
version = "11.4.0"
}
plain text: /constructs/tfmod-azure-aks-azurerm/install.txt
⭐ Source on GitHub 📦 Registry page
README

terraform-azurerm-aks Deploys a Kubernetes cluster (AKS) on Azure with monitoring support through Azure Log Analytics This Terraform module deploys a Kubernetes cluster on Azure using AKS (Azure Kubernetes Service) and adds support for monitoring with Log Analytics. -> NOTE: If you have not assigned client_id or client_secret, A SystemAssigned identity will be created. -> NOTE: If you're using AzureRM v4, you can use this module by setting source to Azure/aks/azurerm//v4. Notice on breaking changes Please be aware that major version(e.g., from 6.8.0 to 7.0.0) update contains breaking changes that may impact your infrastructure. It is crucial to review these changes with caution before proceeding with the upgrade. In most cases, you will need to adjust your Terraform code to accommodate the

Inputs (50)
NameTypeDescriptionDefault
resource_group_namestringThe existing resource group name to use required
agents_availability_zoneslist(string)(Optional) A list of Availability Zones across which the Node Pool should be sprnull
agents_min_countnumberMinimum number of nodes in a poolnull
agents_pool_local_dns_configobject({ mode = string (Optional) Configuration for LocalDNS feature in AKS cluster for agent pool. Thinull
load_balancer_profile_idle_timeout_in_minutesnumber(Optional) Desired outbound flow idle timeout in minutes for the cluster load ba30
log_analytics_workspace_enabledboolEnable the integration of azurerm_log_analytics_workspace and azurerm_log_analyttrue
secret_rotation_intervalstringThe interval to poll for secret rotation. This attribute is only set when `secre"2m"
auto_scaler_profile_scale_down_delay_after_deletestringHow long after node deletion that scale down evaluation resumes. Defaults to thenull
auto_scaler_profile_scale_down_utilization_thresholdstringNode utilization level, defined as sum of requested resources divided by capacit"0.5"
monitor_data_collection_rule_extensions_streamslist(any)An array of container insights table streams. See documentation in DCR for a lis[ "Microsoft-ContainerLog", "Microso
node_network_profileobject({ node_public_ip_ta - `node_public_ip_tags`: (Optional) Specifies a mapping of tags to the instancenull
node_poolsmap(object({ name A map of node pools that need to be created and attached on the Kubernetes clust{}
private_cluster_public_fqdn_enabledbool(Optional) Specifies whether a Public FQDN for this Private Cluster should be adfalse
tagsmap(string)Any tags that should be present on the AKS cluster resources{}
image_cleaner_enabledbool(Optional) Specifies whether Image Cleaner is enabled.false
rbac_aad_tenant_idstring(Optional) The Tenant ID used for Azure Active Directory Application. If this isnull
agents_pool_linux_os_configslist(object({ sysctl_confilist(object({ sysctl_configs = optional(list(object({ fs_aio_max_nr []
data_collection_settingsobject({ data_collection_i`data_collection_interval` - Determines how often the agent collects data. Vali{ "container_log_v2_enabled": true,
maintenance_window_node_osobject({ day_of_month = op- `day_of_month` - - `day_of_week` - (Optional) The day of the week for the mainnull
public_ssh_keystringA custom ssh key to control access to the AKS cluster. Changing this forces a ne""
workload_autoscaler_profileobject({ keda_enabled `keda_enabled` - (Optional) Specifies whether KEDA Autoscaler can be used for wonull
… and 10 more inputs
Outputs (44)
key_vault_secrets_provider_enabled — Has the `azurerm_kubernetes_cluster` turned on `key_vault_secrets_provider` block?
kube_admin_config_raw — The `azurerm_kubernetes_cluster`'s `kube_admin_config_raw` argument. Raw Kubernetes config for the a
node_resource_group — The auto-generated Resource Group which contains the resources for this Managed Kubernetes Cluster.
oms_agent_enabled — Has the `azurerm_kubernetes_cluster` turned on `oms_agent` block?
password — The `password` in the `azurerm_kubernetes_cluster`'s `kube_config` block. A password or token used t
cluster_identity — The `azurerm_kubernetes_cluster`'s `identity` block.
oidc_issuer_url — The OIDC issuer URL that is associated with the cluster.
open_service_mesh_enabled — (Optional) Is Open Service Mesh enabled? For more details, please visit [Open Service Mesh for AKS](
aci_connector_linux_enabled — Has `aci_connector_linux` been enabled on the `azurerm_kubernetes_cluster` resource?
admin_client_certificate — The `client_certificate` in the `azurerm_kubernetes_cluster`'s `kube_admin_config` block. Base64 en
generated_cluster_private_ssh_key — The cluster will use this generated private key as ssh key when `var.public_ssh_key` is empty or nul
host — The `host` in the `azurerm_kubernetes_cluster`'s `kube_config` block. The Kubernetes cluster server
kube_config_raw — The `azurerm_kubernetes_cluster`'s `kube_config_raw` argument. Raw Kubernetes config to be used by [
oms_agent — The `azurerm_kubernetes_cluster`'s `oms_agent` argument.
admin_client_key — The `client_key` in the `azurerm_kubernetes_cluster`'s `kube_admin_config` block. Base64 encoded pri
key_vault_secrets_provider — The `azurerm_kubernetes_cluster`'s `key_vault_secrets_provider` block.
location — The `azurerm_kubernetes_cluster`'s `location` argument. (Required) The location where the Managed Ku
web_app_routing_identity — The `azurerm_kubernetes_cluster`'s `web_app_routing_identity` block, it's type is a list of object.
admin_host — The `host` in the `azurerm_kubernetes_cluster`'s `kube_admin_config` block. The Kubernetes cluster s
azurerm_log_analytics_workspace_name — The name of the created Log Analytics workspace
client_certificate — The `client_certificate` in the `azurerm_kubernetes_cluster`'s `kube_config` block. Base64 encoded p
client_key — The `client_key` in the `azurerm_kubernetes_cluster`'s `kube_config` block. Base64 encoded private k
cluster_portal_fqdn — The FQDN for the Azure Portal resources when private link has been enabled, which is only resolvable
network_profile — The `azurerm_kubernetes_cluster`'s `network_profile` block
node_resource_group_id — The ID of the Resource Group containing the resources for this Managed Kubernetes Cluster.
username — The `username` in the `azurerm_kubernetes_cluster`'s `kube_config` block. A username used to authent
local_dns_config — The LocalDNS configuration applied to the AKS cluster.
admin_password — The `password` in the `azurerm_kubernetes_cluster`'s `kube_admin_config` block. A password or token
aks_id — The `azurerm_kubernetes_cluster`'s id.
generated_cluster_public_ssh_key — The cluster will use this generated public key as ssh key when `var.public_ssh_key` is empty or null
… and 14 more outputs
Resources (11)
azapi_update_resourceazurerm_kubernetes_clusterazurerm_kubernetes_cluster_node_poolazurerm_log_analytics_solutionazurerm_log_analytics_workspaceazurerm_monitor_data_collection_ruleazurerm_monitor_data_collection_rule_associationazurerm_role_assignmentnull_resourcetime_sleeptls_private_key
Details
FrameworkTerraform Module
LanguageHCL
Version11.4.0
Cloud AZURERM
★ Stars387
Forks507
Total downloads1.1M
Inputs50
Outputs44
Resources11
Examples8
LicenseMIT
NamespaceAzure
Updated