An opinionated Terraform module that can be used to create and manage an AKS cluster in Azure in a simplified way.
Name | Version |
---|---|
terraform | >= 1.6.0 |
azapi | >= 2.4.0 |
azuread | >= 3.4.0 |
azurerm | >= 3.117.1 |
null | >= 3.2.4 |
Name | Version |
---|---|
azapi | >= 2.4.0 |
azuread | >= 3.4.0 |
null | >= 3.2.4 |
Name | Source | Version |
---|---|---|
availability_zones_data_source | Invicton-Labs/shell-resource/external | 0.4.1 |
cilium_service_principal | git::https://github.com/isovalent/terraform-azure-service-principal.git | v1.3 |
main | Azure/aks/azurerm | 10.1.1 |
Name | Type |
---|---|
azapi_update_resource.kube_proxy_disabled | resource |
null_resource.kubeconfig | resource |
azuread_group.admins | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
admin_azuread_group_names | The list of Azure AD groups that should be granted admin access to the AKS cluster. | list(string) |
[] |
no |
admin_username | The username of the local administrator to be created on the Kubernetes cluster. Set this variable to null to turn off the cluster's linux_profile . Changing this forces a new resource to be created. |
string |
null |
no |
enable_auto_scaling | Enable auto scaling | bool |
false |
no |
instance_type | The type of instance to use for the single node pool to be created. (NOTE: The upstream AKS module doesn't support multiple node pools yet.) | string |
"Standard_D2s_v3" |
no |
kube_proxy_disabled | Disable kube-proxy | bool |
false |
no |
kubernetes_version | The version of Kubernetes to use. | string |
"1.29.4" |
no |
max_nodes | The maximum number of nodes in the AKS cluster. | number |
4 |
no |
min_nodes | The minimum number of nodes in the AKS cluster. | number |
3 |
no |
name | The name of the AKS cluster. | string |
n/a | yes |
network_plugin | The network plugin to use (one of 'azure' or 'none'). | string |
"azure" |
no |
nodes_count | The number of nodes in the AKS cluster when enable_auto_scaling = false. Set to null when enable_auto_scaling = true | number |
2 |
no |
oidc_issuer_enabled | Enable OIDC issuer | bool |
false |
no |
os_sku | (Optional) Specifies the OS SKU used by the agent pool. Possible values include: Ubuntu , CBLMariner , Mariner , Windows2019 , Windows2022 . If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. Changing this forces a new resource to be created. |
string |
null |
no |
owner | Your name. | string |
n/a | yes |
paid_tier | Whether to use the "Standard" AKS tier. | bool |
false |
no |
public_ssh_key | A custom ssh key to control access to the AKS cluster. Changing this forces a new resource to be created. | string |
"" |
no |
region | The region in which to create the AKS cluster and associated resources. | string |
n/a | yes |
resource_group_name | The name of the Azure resource group in which to create the AKS cluster. | string |
n/a | yes |
root_disk_size | The size (in GB) of the root disk. | number |
100 |
no |
service_cidr | The CIDR block to use for services. | string |
n/a | yes |
sp_enabled | Set to false to disable service principle creation | bool |
false |
no |
subnet_id | The ID of the subnet where to place the node pool. | string |
n/a | yes |
tags | A map of tags to assign to the AKS cluster. | map(string) |
{} |
no |
workload_identity_enabled | Enable workload identity | bool |
false |
no |
Name | Description |
---|---|
cilium_service_principal_client_id | n/a |
cilium_service_principal_client_secret | n/a |
cluster_endpoint | n/a |
cluster_name | n/a |
node_resource_group | n/a |
oidc_issuer_url | n/a |
path_to_kubeconfig_file | n/a |
resource_group | n/a |
Copyright 2022 Isovalent, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.