You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| <aname="output_documentation_md"></a> [documentation\_md](#output\_documentation\_md)| Markdown documentation with information about the AKS Building Block building block backplane |
44
+
| <aname="output_hub_role_assignment_ids"></a> [hub\_role\_assignment\_ids](#output\_hub\_role\_assignment\_ids)| The IDs of the hub role assignments for the service principals. |
45
+
| <aname="output_hub_role_assignment_principal_ids"></a> [hub\_role\_assignment\_principal\_ids](#output\_hub\_role\_assignment\_principal\_ids)| The principal IDs of the service principals that have been assigned the hub role. |
46
+
| <aname="output_hub_role_definition_id"></a> [hub\_role\_definition\_id](#output\_hub\_role\_definition\_id)| The ID of the role definition that enables deployment of the building block to the hub. |
47
+
| <aname="output_hub_role_definition_name"></a> [hub\_role\_definition\_name](#output\_hub\_role\_definition\_name)| The name of the role definition that enables deployment of the building block to the hub. |
42
48
| <aname="output_role_assignment_ids"></a> [role\_assignment\_ids](#output\_role\_assignment\_ids)| The IDs of the role assignments for the service principals. |
43
49
| <aname="output_role_assignment_principal_ids"></a> [role\_assignment\_principal\_ids](#output\_role\_assignment\_principal\_ids)| The principal IDs of the service principals that have been assigned the role. |
44
50
| <aname="output_role_definition_id"></a> [role\_definition\_id](#output\_role\_definition\_id)| The ID of the role definition that enables deployment of the building block to subscriptions. |
Copy file name to clipboardExpand all lines: modules/azure/aks/buildingblock/APP_TEAM_README.md
+84-6Lines changed: 84 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
# Azure Kubernetes Service (AKS)
2
2
3
3
## Description
4
-
This building block provides a production-grade Azure Kubernetes Service (AKS) cluster with integrated security, monitoring, and networking features. It delivers a fully managed Kubernetes environment with Azure AD authentication, workload identity support, and comprehensive observability through Log Analytics.
4
+
This building block provides a production-grade Azure Kubernetes Service (AKS) cluster with integrated security, monitoring, and networking features. It delivers a fully managed Kubernetes environment with Azure AD authentication, workload identity support, and comprehensive observability through Log Analytics. The cluster supports both public and private deployment scenarios with optional hub-and-spoke network connectivity.
5
5
6
6
## Usage Motivation
7
7
This building block is for application teams that need to deploy containerized applications on a secure, scalable, and managed Kubernetes platform. The AKS cluster comes pre-configured with enterprise-grade security features, eliminating the operational complexity of managing Kubernetes infrastructure while maintaining the flexibility to run any containerized workload.
@@ -21,6 +21,7 @@ This building block is for application teams that need to deploy containerized a
21
21
| Configuring Azure AD authentication and RBAC | ✅ | ❌ |
22
22
| Setting up Log Analytics and monitoring infrastructure | ✅ | ❌ |
| <aname="input_aks_admin_group_object_id"></a> [aks\_admin\_group\_object\_id](#input\_aks\_admin\_group\_object\_id)| Object ID of the Azure AD group used for AKS admin access|`string`|n/a|yes|
73
+
| <aname="input_aks_admin_group_object_id"></a> [aks\_admin\_group\_object\_id](#input\_aks\_admin\_group\_object\_id)| Object ID of the Azure AD group used for AKS admin access. If null, Azure AD RBAC will not be configured. |`string`|`null`|no|
70
74
| <aname="input_aks_cluster_name"></a> [aks\_cluster\_name](#input\_aks\_cluster\_name)| Name of the AKS cluster |`string`|`"prod-aks"`| no |
71
75
| <aname="input_dns_prefix"></a> [dns\_prefix](#input\_dns\_prefix)| DNS prefix for the AKS cluster |`string`|`"prodaks"`| no |
72
76
| <aname="input_dns_service_ip"></a> [dns\_service\_ip](#input\_dns\_service\_ip)| IP address for Kubernetes DNS service (must be within service\_cidr) |`string`|`"10.0.0.10"`| no |
73
77
| <aname="input_enable_auto_scaling"></a> [enable\_auto\_scaling](#input\_enable\_auto\_scaling)| Enable auto-scaling for the default node pool |`bool`|`false`| no |
74
-
| <aname="input_kubernetes_version"></a> [kubernetes\_version](#input\_kubernetes\_version)| Kubernetes version for the AKS cluster |`string`|`"1.29.2"`| no |
78
+
| <aname="input_hub_resource_group_name"></a> [hub\_resource\_group\_name](#input\_hub\_resource\_group\_name)| Resource group name of the hub virtual network. Required when private\_cluster\_enabled is true and connecting to a hub. |`string`|`null`| no |
79
+
| <aname="input_hub_subscription_id"></a> [hub\_subscription\_id](#input\_hub\_subscription\_id)| Subscription ID of the hub network. Required when private\_cluster\_enabled is true and connecting to a hub. |`string`|`null`| no |
80
+
| <aname="input_hub_vnet_name"></a> [hub\_vnet\_name](#input\_hub\_vnet\_name)| Name of the hub virtual network to peer with. Required when private\_cluster\_enabled is true and connecting to a hub. |`string`|`null`| no |
81
+
| <aname="input_kubernetes_version"></a> [kubernetes\_version](#input\_kubernetes\_version)| Kubernetes version for the AKS cluster |`string`|`"1.33.0"`| no |
75
82
| <aname="input_location"></a> [location](#input\_location)| Azure region where resources will be deployed |`string`|`"Germany West Central"`| no |
76
83
| <aname="input_log_analytics_workspace_name"></a> [log\_analytics\_workspace\_name](#input\_log\_analytics\_workspace\_name)| Name of the Log Analytics Workspace. If null, no LAW or monitoring will be created. |`string`|`null`| no |
77
84
| <aname="input_log_retention_days"></a> [log\_retention\_days](#input\_log\_retention\_days)| Number of days to retain logs in Log Analytics Workspace |`number`|`30`| no |
@@ -81,6 +88,9 @@ No modules.
81
88
| <aname="input_network_policy"></a> [network\_policy](#input\_network\_policy)| Network policy to use (azure, calico, or cilium) |`string`|`"azure"`| no |
82
89
| <aname="input_node_count"></a> [node\_count](#input\_node\_count)| Initial number of nodes in the default node pool |`number`|`3`| no |
83
90
| <aname="input_os_disk_size_gb"></a> [os\_disk\_size\_gb](#input\_os\_disk\_size\_gb)| OS disk size in GB for the node pool |`number`|`100`| no |
91
+
| <aname="input_private_cluster_enabled"></a> [private\_cluster\_enabled](#input\_private\_cluster\_enabled)| Enable private cluster (API server only accessible via private endpoint) |`bool`|`false`| no |
92
+
| <aname="input_private_cluster_public_fqdn_enabled"></a> [private\_cluster\_public\_fqdn\_enabled](#input\_private\_cluster\_public\_fqdn\_enabled)| Enable public FQDN for private cluster (allows public DNS resolution but API server remains private) |`bool`|`false`| no |
93
+
| <aname="input_private_dns_zone_id"></a> [private\_dns\_zone\_id](#input\_private\_dns\_zone\_id)| Private DNS Zone ID for private cluster. Use 'System' for Azure-managed zone, or provide custom zone ID. Only used when private\_cluster\_enabled is true. |`string`|`"System"`| no |
84
94
| <aname="input_resource_group_name"></a> [resource\_group\_name](#input\_resource\_group\_name)| Name of the resource group to create for the AKS cluster |`string`|`"aks-prod-rg"`| no |
85
95
| <aname="input_service_cidr"></a> [service\_cidr](#input\_service\_cidr)| CIDR for Kubernetes services (must not overlap with VNet or subnet) |`string`|`"10.0.0.0/16"`| no |
86
96
| <aname="input_subnet_address_prefix"></a> [subnet\_address\_prefix](#input\_subnet\_address\_prefix)| Address prefix for the AKS subnet |`string`|`"10.240.0.0/20"`| no |
0 commit comments