avm-ptn-aks-production
Azure/avm-ptn-aks-production/azurerm
This is the Production Standard for AKS pattern module for Azure Verified Modules (AVM) library. This module deploys a production standard AKS cluster along with supporting a Virtual Network and Azure container registry. It provisions an environment sufficient for most production deployments for AKS.
terraform-azurerm-avm-ptn-aks-production NOTE: This module follows the semantic versioning and versions prior to 1.0.0 should be consider pre-release versions. This is the Production Standard for AKS pattern module for Azure Verified Modules (AVM) library. This module deploys a production standard AKS cluster along with an Azure container registry. It is possible to provide an existing Log Analytics workspace or the module will create one for you. It provisions an environment sufficient for most production deployments for AKS. It leverages the AzureRM provider and sets a number of initial defaults to minimize the overall inputs for simple configurations. You can read more about our design choices in our Tech Community Article. !AKS Production Stardard design diagram Major version Zero (0.y
| Name | Type | Description | Default |
|---|---|---|---|
| resource_group_name | string | The resource group where the resources will be deployed. | required |
| name | string | The name for the AKS resources created in the specified Azure Resource Group. Th | required |
| network | object({ node_subnet_id = | Values for the networking configuration of the AKS cluster | required |
| location | string | The Azure region where the resources should be deployed. | required |
| acr | object({ name | (Optional) Parameters for the Azure Container Registry to use with the Kubernete | null |
| agents_tags | map(string) | (Optional) A mapping of tags to assign to the Node Pool. | {} |
| lock | object({ kind = string | Controls the Resource Lock configuration for this resource. The following prop | null |
| rbac_aad_azure_rbac_enabled | bool | (Optional) Is Role Based Access Control based on Azure AD enabled? | null |
| default_node_pool_vm_sku | string | The VM SKU to use for the default node pool. A minimum of three nodes of 8 vCPUs | "Standard_D4d_v5" |
| enable_telemetry | bool | This variable controls whether or not telemetry is enabled for the module. For m | true |
| node_labels | map(string) | (Optional) A map of Kubernetes labels which should be applied to nodes in this N | {} |
| os_sku | string | (Optional) Specifies the OS SKU used by the agent pool. Possible values include: | "AzureLinux" |
| outbound_type | string | (Optional) Specifies the outbound type that will be used for cluster outbound (e | "loadBalancer" |
| rbac_aad_tenant_id | string | (Optional) The Tenant ID used for Azure Active Directory Application. If this is | null |
| tags | map(string) | (Optional) Tags of the resource. | null |
| kubernetes_version | string | Specify which Kubernetes release to use. Specify only minor version, such as '1. | null |
| managed_identities | object({ system_assigned | Controls the Managed Identity configuration on this resource. The following pr | {} |
| node_pools | map(object({ name | A map of node pools that need to be created and attached on the Kubernetes clust | {} |
| orchestrator_version | string | Specify which Kubernetes release to use. Specify only minor version, such as '1. | null |
| os_disk_type | string | (Optional) Specifies the OS Disk Type used by the agent pool. Possible values in | "Managed" |
| rbac_aad_admin_group_object_ids | list(string) | Object ID of groups with admin access. | null |
| monitor_metrics | object({ annotations_allow | (Optional) Specifies a Prometheus add-on profile for the Kubernetes Cluster obje | null |
| network_policy | string | (Optional) Sets up network policy to be used with Azure CNI. Network policy allo | "cilium" |
| private_dns_zone_id | string | (Optional) Either the ID of Private DNS Zone which should be delegated to this C | null |
oms_agent_identity_client_id — The Client ID of the user-defined Managed Identity used by the OMS Agentsoms_agent_identity_user_assigned_identity_id — The ID of the User Assigned Identity used by the OMS Agentscurrent_kubernetes_version — The current version running on the Azure Kubernetes Managed Clusteridentity_tenant_id — The Tenant ID associated with this Managed Service Identityingress_application_gateway_identity_client_id — The Client ID of the user-defined Managed Identity used by the Application Gatewayingress_application_gateway_identity_object_id — The Object ID of the user-defined Managed Identity used by the Application Gatewaykube_admin_config_raw — Raw Kubernetes config for the admin accountkube_config — The kube_config block for the Azure Kubernetes Managed Clusterportal_fqdn — The FQDN for the Azure Portal resources when private link has been enablednat_gateway_profile_effective_outbound_ips — The effective outbound IPs for the NAT Gateway profilekey_vault_secrets_provider_secret_identity_user_assigned_identity_id — The ID of the User Assigned Identity used by the Secret Providerkube_config_raw — Raw Kubernetes config for the user accountkubelet_identity_user_assigned_identity_id — The ID of the User Assigned Identity assigned to the Kubeletsnode_resource_group_id — The ID of the Resource Group containing resources for the Managed Kubernetes Clusterweb_app_routing_web_app_routing_identity_object_id — The Object ID of the user-defined Managed Identity used for Web App Routingweb_app_routing_web_app_routing_identity_user_assigned_identity_id — The ID of the User Assigned Identity used for Web App Routingkube_admin_config — The kube_admin_config block for the Azure Kubernetes Managed Clusteroidc_issuer_url — The OIDC issuer URL that is associated with the clusterprivate_fqdn — The FQDN for the Kubernetes Cluster when private link has been enabledweb_app_routing_web_app_routing_identity_client_id — The Client ID of the user-defined Managed Identity used for Web App Routingkubelet_identity_object_id — The Object ID of the user-defined Managed Identity assigned to the Kubeletsnetwork_profile — The network profile block for the Kubernetes clusterfqdn — The FQDN of the Azure Kubernetes Managed Clusteringress_application_gateway_identity_user_assigned_identity_id — The ID of the User Assigned Identity used by the Application Gatewayload_balancer_profile_effective_outbound_ips — The effective outbound IPs for the load balancer profilekubelet_identity_client_id — The Client ID of the user-defined Managed Identity assigned to the Kubeletsoms_agent_identity_object_id — The Object ID of the user-defined Managed Identity used by the OMS Agentsresource_id — The Kubernetes Managed Cluster ID.http_application_routing_zone_name — The Zone Name of the HTTP Application Routingidentity_principal_id — The Principal ID associated with this Managed Service IdentityAzure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,