avm-ptn-aks-production

Azure/avm-ptn-aks-production/azurerm

Terraform Module HCL AZURERM ✓ Verified

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.

Install
module "avm-ptn-aks-production" {
source = "Azure/avm-ptn-aks-production/azurerm"
version = "0.5.0"
}
⭐ Source on GitHub 📦 Registry page
README

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

Inputs (25)
NameTypeDescriptionDefault
resource_group_namestringThe resource group where the resources will be deployed. required
namestringThe name for the AKS resources created in the specified Azure Resource Group. Th required
networkobject({ node_subnet_id = Values for the networking configuration of the AKS cluster required
locationstringThe Azure region where the resources should be deployed. required
acrobject({ name (Optional) Parameters for the Azure Container Registry to use with the Kubernetenull
agents_tagsmap(string)(Optional) A mapping of tags to assign to the Node Pool.{}
lockobject({ kind = string Controls the Resource Lock configuration for this resource. The following propnull
rbac_aad_azure_rbac_enabledbool(Optional) Is Role Based Access Control based on Azure AD enabled?null
default_node_pool_vm_skustringThe VM SKU to use for the default node pool. A minimum of three nodes of 8 vCPUs"Standard_D4d_v5"
enable_telemetryboolThis variable controls whether or not telemetry is enabled for the module. For mtrue
node_labelsmap(string)(Optional) A map of Kubernetes labels which should be applied to nodes in this N{}
os_skustring(Optional) Specifies the OS SKU used by the agent pool. Possible values include:"AzureLinux"
outbound_typestring(Optional) Specifies the outbound type that will be used for cluster outbound (e"loadBalancer"
rbac_aad_tenant_idstring(Optional) The Tenant ID used for Azure Active Directory Application. If this isnull
tagsmap(string)(Optional) Tags of the resource.null
kubernetes_versionstringSpecify which Kubernetes release to use. Specify only minor version, such as '1.null
managed_identitiesobject({ system_assigned Controls the Managed Identity configuration on this resource. The following pr{}
node_poolsmap(object({ name A map of node pools that need to be created and attached on the Kubernetes clust{}
orchestrator_versionstringSpecify which Kubernetes release to use. Specify only minor version, such as '1.null
os_disk_typestring(Optional) Specifies the OS Disk Type used by the agent pool. Possible values in"Managed"
rbac_aad_admin_group_object_idslist(string)Object ID of groups with admin access.null
monitor_metricsobject({ annotations_allow(Optional) Specifies a Prometheus add-on profile for the Kubernetes Cluster objenull
network_policystring(Optional) Sets up network policy to be used with Azure CNI. Network policy allo"cilium"
private_dns_zone_idstring(Optional) Either the ID of Private DNS Zone which should be delegated to this Cnull
Outputs (33)
oms_agent_identity_client_id — The Client ID of the user-defined Managed Identity used by the OMS Agents
oms_agent_identity_user_assigned_identity_id — The ID of the User Assigned Identity used by the OMS Agents
current_kubernetes_version — The current version running on the Azure Kubernetes Managed Cluster
identity_tenant_id — The Tenant ID associated with this Managed Service Identity
ingress_application_gateway_identity_client_id — The Client ID of the user-defined Managed Identity used by the Application Gateway
ingress_application_gateway_identity_object_id — The Object ID of the user-defined Managed Identity used by the Application Gateway
kube_admin_config_raw — Raw Kubernetes config for the admin account
kube_config — The kube_config block for the Azure Kubernetes Managed Cluster
portal_fqdn — The FQDN for the Azure Portal resources when private link has been enabled
nat_gateway_profile_effective_outbound_ips — The effective outbound IPs for the NAT Gateway profile
key_vault_secrets_provider_secret_identity_user_assigned_identity_id — The ID of the User Assigned Identity used by the Secret Provider
kube_config_raw — Raw Kubernetes config for the user account
kubelet_identity_user_assigned_identity_id — The ID of the User Assigned Identity assigned to the Kubelets
node_resource_group_id — The ID of the Resource Group containing resources for the Managed Kubernetes Cluster
web_app_routing_web_app_routing_identity_object_id — The Object ID of the user-defined Managed Identity used for Web App Routing
web_app_routing_web_app_routing_identity_user_assigned_identity_id — The ID of the User Assigned Identity used for Web App Routing
kube_admin_config — The kube_admin_config block for the Azure Kubernetes Managed Cluster
oidc_issuer_url — The OIDC issuer URL that is associated with the cluster
private_fqdn — The FQDN for the Kubernetes Cluster when private link has been enabled
web_app_routing_web_app_routing_identity_client_id — The Client ID of the user-defined Managed Identity used for Web App Routing
kubelet_identity_object_id — The Object ID of the user-defined Managed Identity assigned to the Kubelets
network_profile — The network profile block for the Kubernetes cluster
fqdn — The FQDN of the Azure Kubernetes Managed Cluster
ingress_application_gateway_identity_user_assigned_identity_id — The ID of the User Assigned Identity used by the Application Gateway
load_balancer_profile_effective_outbound_ips — The effective outbound IPs for the load balancer profile
kubelet_identity_client_id — The Client ID of the user-defined Managed Identity assigned to the Kubelets
oms_agent_identity_object_id — The Object ID of the user-defined Managed Identity used by the OMS Agents
resource_id — The Kubernetes Managed Cluster ID.
http_application_routing_zone_name — The Zone Name of the HTTP Application Routing
identity_principal_id — The Principal ID associated with this Managed Service Identity
… and 3 more outputs
Resources (12)
azapi_update_resourceazurerm_kubernetes_clusterazurerm_kubernetes_cluster_node_poolazurerm_log_analytics_workspaceazurerm_log_analytics_workspace_tableazurerm_management_lockazurerm_monitor_diagnostic_settingazurerm_role_assignmentazurerm_user_assigned_identitymodtm_telemetrynull_resourcerandom_uuid
Details
FrameworkTerraform Module
LanguageHCL
Version0.5.0
Cloud AZURERM
★ Stars43
Forks42
Total downloads9.1k
Inputs25
Outputs33
Resources12
Examples3
LicenseMIT
NamespaceAzure
Updated