6.2 KiB
Notice on Upgrade to v8.x
New variable cluster_name_random_suffix
-
A new variable
cluster_name_random_suffix
is added. This allows users to decide whether they want to add a random suffix to a cluster's name. This is particularly useful when Terraform needs to recreate a resource that cannot be updated in-place, as it avoids naming conflicts. Because of #357, now theazurerm_kubernetes_cluster
resource iscreate_before_destroy = true
now, we cannot turn this feature off. If you want to recreate this cluster by one apply without any trouble, please turn this random naming suffix on to avoid the naming conflict. -
The
create_before_destroy
attribute is added to thenode_pools
variable as an object field. This attribute determines whether a new node pool should be created before the old one is destroyed during updates. By default, it is set totrue
. -
The naming of extra node pools has been updated. Now, a random UUID is used as the seed for the random suffix in the name of the node pool, instead of the JSON-encoded value of the node pool. This naming suffix only apply for extra node pools that create before destroy.
You're recommended to set var.cluster_name_random_suffix
to true
explicitly, and you'll see a random suffix in your cluster's name. If you don't like this suffix, please remember now a new cluster with the same name would be created before the old one has been deleted. If you do want to recreate the cluster, please run terraform destroy
first.
Remove var.http_application_routing_enabled
According to the document, HTTP application routing add-on for AKS has been retired so we have to remove this feature from this module.
-
The variable
http_application_routing_enabled
has been removed from the module. This variable was previously used to enable HTTP Application Routing Addon. -
The
http_application_routing_enabled
output has been removed fromoutputs.tf
. This output was previously used to display whether HTTP Application Routing was enabled. -
The
http_application_routing_enabled
attribute has been removed from theazurerm_kubernetes_cluster
resource inmain.tf
. This attribute was previously used to enable HTTP Application Routing for the Kubernetes cluster. -
The
http_application_routing_enabled
attribute has been added to theignore_changes
lifecycle block of theazurerm_kubernetes_cluster
resource inmain.tf
. This means changes to this attribute will not trigger the resource to be updated.
These changes mean that users of this module will no longer be able to enable HTTP Application Routing through this module.
The new feature for the Ingress in AKS is Managed NGINX ingress with the application routing add-on, you can enable this with var.web_app_routing
.
Users who were using this feature, please read this Migrate document.
Remove public_network_access_enabled
entirely
According to this announcement, now public network access for AKS is no longer supported.
The primary impact #488 is the complete removal of the public_network_access_enabled
variable from the module.
-
The
public_network_access_enabled
variable has been removed from thevariables.tf
file. This means that the module no longer supports the configuration of public network access at the Kubernetes cluster level. -
The
public_network_access_enabled
variable has also been removed from themain.tf
file and all example files (application_gateway_ingress/main.tf
,multiple_node_pools/main.tf
,named_cluster/main.tf
,startup/main.tf
,with_acr/main.tf
,without_monitor/main.tf
). This indicates that the module no longer uses this variable in the creation of the Azure Kubernetes Service (AKS) resource. -
The
public_network_access_enabled
has been added intoazurerm_kubernetes_cluster
'signore_changes
list. Any change to this attribute won't trigger update.
Add role assignments for ingress application gateway
The variables.tf
file is updated with new variables related to the application gateway for ingress, including brown_field_application_gateway_for_ingress
, create_role_assignments_for_application_gateway
, and green_field_application_gateway_for_ingress
.
The brown_field_application_gateway_for_ingress
, create_role_assignments_for_application_gateway
, and green_field_application_gateway_for_ingress
variables are used to configure the Application Gateway Ingress for the Azure Kubernetes Service (AKS) in the Terraform module.
-
brown_field_application_gateway_for_ingress
: This variable is used when you want to use an existing Application Gateway as the ingress for the AKS cluster. It is an object that contains the ID of the Application Gateway (id
) and the ID of the Subnet (subnet_id
) which the Application Gateway is connected to. If this variable is set, the module will not create a new Application Gateway and will use the existing one instead. -
green_field_application_gateway_for_ingress
: This variable is used when you want the module to create a new Application Gateway for the AKS cluster. It is an object that contains the name of the Application Gateway to be used or created in the Nodepool Resource Group (name
), the subnet CIDR to be used to create an Application Gateway (subnet_cidr
), and the ID of the subnet on which to create an Application Gateway (subnet_id
). If this variable is set, the module will create a new Application Gateway with the provided configuration. -
create_role_assignments_for_application_gateway
: This is a boolean variable that determines whether to create the corresponding role assignments for the application gateway or not. By default, it is set totrue
. Role assignments are necessary for the Application Gateway to function correctly with the AKS cluster. If set totrue
, the module will create the necessary role assignments on the Application Gateway.