Terraform Module for Azure AKS
Name | Version |
---|---|
terraform | >= 1.0 |
azurerm | >= 4.0.0 |
Name | Version |
---|---|
azurerm | 4.0.1 |
No modules.
Name | Type |
---|---|
azurerm_kubernetes_cluster.k8s_cluster | resource |
azurerm_kubernetes_cluster_node_pool.aks-node | resource |
azurerm_monitor_diagnostic_setting.aks-diagnostics | resource |
azurerm_subnet.k8s_agent_subnet | resource |
azurerm_virtual_network.k8s_agent_network | resource |
Name | Description | Type | Default | Required |
---|---|---|---|---|
admin_username | user name to add to VMs | string |
"azureuser" |
no |
agent_net_name | Optional name of the agent vnet | string |
"agent-net" |
no |
aks_dns_service_ip | n/a | string |
"10.0.0.10" |
no |
aks_docker_bridge_cidr | n/a | string |
"172.26.0.1/16" |
no |
aks_network_plugin | n/a | string |
"azure" |
no |
aks_network_policy | n/a | string |
"calico" |
no |
aks_pod_cidr | n/a | any |
null |
no |
aks_service_cidr | n/a | string |
"10.0.0.0/16" |
no |
aks_vnet_subnet_cidr | n/a | string |
"10.200.0.0/24" |
no |
aks_vnet_subnet_id | n/a | string |
"" |
no |
api_server_authorized_ip_ranges | List of IPs to whitelist for incoming to Kubernetes API | list(string) |
[] |
no |
automatic_channel_upgrade | n/a | string |
null |
no |
azure_policy_enable | Turn on Azure Policy in cluster or not | bool |
false |
no |
client_id | azure client id | any |
null |
no |
client_secret | azure client secret | any |
null |
no |
cluster_name | What the k8s cluster should be identified as | any |
n/a | yes |
create_vnet | n/a | bool |
true |
no |
day_of_week | The day of the week for the maintenance run. | string |
"Tuesday" |
no |
default_pool | n/a | map |
{} |
no |
dns_prefix | n/a | any |
n/a | yes |
duration | The duration of the window for maintenance to run in hours. | string |
"5" |
no |
enable_diagnostics | n/a | bool |
false |
no |
frequency | Frequency of maintenance. | string |
"Weekly" |
no |
identity_ids | n/a | list(string) |
[] |
no |
identity_type | n/a | string |
"SystemAssigned" |
no |
ingress_application_gateway_enable | Ingress Application Gateway | bool |
false |
no |
ingress_application_gateway_id | n/a | string |
null |
no |
ingress_application_gateway_name | n/a | string |
null |
no |
ingress_application_gateway_subnet_cidr | n/a | string |
null |
no |
ingress_application_gateway_subnet_id | n/a | string |
null |
no |
ingress_application_subnet_cidr | n/a | string |
null |
no |
ingress_application_subnet_id | n/a | string |
null |
no |
interval | The interval for maintenance runs. | number |
1 |
no |
k8s_version | What version of k8s to request from provider | any |
null |
no |
key_vault_secrets_provider | n/a | map(object({ |
null |
no |
kubelet_identity | Identity / RBAC goes here | object({ |
null |
no |
load_balancer_sku | Networking settings. | string |
"standard" |
no |
log_analytics | Diagnostics | map(object({ |
{} |
no |
maintenance_window_auto_upgrade | - day_of_month - (Optional) The day of the month for the maintenance run. Required in combination with RelativeMonthly frequency. Value between 0 and 31 (inclusive).- day_of_week - (Optional) The day of the week for the maintenance run. Options are Monday , Tuesday , Wednesday , Thurday , Friday , Saturday and Sunday . Required in combination with weekly frequency.- duration - (Required) The duration of the window for maintenance to run in hours.- frequency - (Required) Frequency of maintenance. Possible options are Weekly , AbsoluteMonthly and RelativeMonthly .- interval - (Required) The interval for maintenance runs. Depending on the frequency this interval is week or month based.- start_date - (Optional) The date on which the maintenance window begins to take effect.- start_time - (Optional) The time for maintenance to begin, based on the timezone determined by utc_offset . Format is HH:mm .- utc_offset - (Optional) Used to determine the timezone for cluster maintenance.- week_index - (Optional) The week in the month used for the maintenance run. Options are First , Second , Third , Fourth , and Last .--- not_allowed block supports the following:- end - (Required) The end of a time span, formatted as an RFC3339 string.- start - (Required) The start of a time span, formatted as an RFC3339 string. |
object({ |
null |
no |
maintenance_window_node_os | - day_of_month - (Optional) The day of the month for the maintenance run. Required in combination with RelativeMonthly frequency. Value between 0 and 31 (inclusive).- day_of_week - (Optional) The day of the week for the maintenance run. Options are Monday , Tuesday , Wednesday , Thurday , Friday , Saturday and Sunday . Required in combination with weekly frequency.- duration - (Required) The duration of the window for maintenance to run in hours.- frequency - (Required) Frequency of maintenance. Possible options are Daily , Weekly , AbsoluteMonthly and RelativeMonthly .- interval - (Required) The interval for maintenance runs. Depending on the frequency this interval is week or month based.- start_date - (Optional) The date on which the maintenance window begins to take effect.- start_time - (Optional) The time for maintenance to begin, based on the timezone determined by utc_offset . Format is HH:mm .- utc_offset - (Optional) Used to determine the timezone for cluster maintenance.- week_index - (Optional) The week in the month used for the maintenance run. Options are First , Second , Third , Fourth , and Last .--- not_allowed block supports the following:- end - (Required) The end of a time span, formatted as an RFC3339 string.- start - (Required) The start of a time span, formatted as an RFC3339 string. |
object({ |
null |
no |
managed_outbound_ip_count | n/a | number |
1 |
no |
max_pods | Max pods to support in this cluster pr node | number |
30 |
no |
max_surge | The maximum percentage of nodes which will be added to the Node Pool size during an upgrade | string |
"33%" |
no |
metrics | n/a | map(object({ |
{} |
no |
msd_enable | Enable audit logs collected by Microsoft Defender | bool |
false |
no |
msd_workspace_id | Specifies the ID of the Log Analytics Workspace where the audit logs collected by Microsoft Defender should be sent to | string |
"" |
no |
node_os_channel_upgrade | automatically upgrades the node image to the latest version available. | string |
"None" |
no |
node_pools | Node pools to use | list |
[] |
no |
node_resource_group | n/a | any |
null |
no |
oidc_issuer_enabled | n/a | bool |
false |
no |
oms_agent_enable | Enable OMS Agent profile | bool |
true |
no |
oms_workspace_id | Operations Management Suite Workspace ID | string |
"" |
no |
outbound_ip_address_ids | n/a | list(any) |
null |
no |
outbound_ip_prefix_ids | n/a | list(any) |
null |
no |
outbound_type | n/a | string |
"loadBalancer" |
no |
private_cluster_enabled | n/a | bool |
false |
no |
private_dns_zone_id | n/a | string |
null |
no |
rbac_admin_group_ids | n/a | list(any) |
[] |
no |
rbac_client_app_id | The Client ID of an Azure Active Directory Application | any |
null |
no |
rbac_enable | Should RBAC be enabled. | bool |
true |
no |
rbac_managed | n/a | bool |
false |
no |
rbac_server_app_id | The Server ID of an Azure Active Directory Application | any |
null |
no |
rbac_server_app_secret | The Client Secret of an Azure Active Directory Application | any |
null |
no |
resource_group_location | Location of the RG the environment will run inside | string |
"West Europe" |
no |
resource_group_name | Name of RG the environment will run inside | any |
n/a | yes |
ssh_public_key | public key to add to admin_user in VMs | any |
n/a | yes |
tags | # Metadata ## | map |
{} |
no |
workload_identity_enabled | n/a | bool |
false |
no |
Name | Description |
---|---|
id | n/a |
identity | n/a |
kube_client_ca | n/a |
kube_client_certificate | n/a |
kube_client_key | n/a |
kube_cluster_ca | n/a |
kube_cluster_ca_certificate | n/a |
kube_config | # Outputs ## |
kube_configure | n/a |
kube_host | n/a |
kube_password | n/a |
kube_username | n/a |
kubelet_identity | n/a |
name | Re-export the AKS name for usage |
network_profile | n/a |
node_resource_group | auto-generated resource group which contains the resources for this managed kubernetes cluster |
node_resource_group_id | auto-generated resource group which contains the resources for this managed kubernetes cluster |
oidc_issuer_url | n/a |
private_fqdn | n/a |