The end of life of Azure Kubernetes Service (AKS) 1.33 is June 2026. Sitecore Managed Cloud Containers solutions, based on AKS 1.33, need to be updated to a newer version that uses AKS 1.34. For more details on AKS end of life and the consequences of deprecation refer to Microsoft documentation.
This article contains upgrade instructions for the Sitecore Managed Cloud Containers solution to the version that uses AKS 1.34.
No new breaking changes were introduced for AKS 1.34.
Follow these steps to upgrade the Sitecore Managed Cloud Containers solution to the version that uses AKS 1.34:
terraform-state-update:
image: ${TERRAFORM_RUNNER_IMAGE}
entrypoint: |
/bin/sh -c "\
cd terraform;
terraform state list;
terraform state rm 'module.sql-server[0].azurerm_sql_server.sql-server'
terraform import 'module.sql-server[0].azurerm_mssql_server.sql-server' '/subscriptions/${ARM_SUBSCRIPTION_ID}/resourceGroups/${TF_VAR_resource_group_name}/providers/Microsoft.Sql/servers/${TF_VAR_resource_group_name}sql'
terraform state rm 'module.sql-server[0].azurerm_sql_firewall_rule.firewall_azure_resources'
terraform import 'module.sql-server[0].azurerm_mssql_firewall_rule.firewall_azure_resources' '/subscriptions/${ARM_SUBSCRIPTION_ID}/resourceGroups/${TF_VAR_resource_group_name}/providers/Microsoft.Sql/servers/${TF_VAR_resource_group_name}sql/firewallRules/allow_azure'
terraform state list;
"
environment:
- ARM_SUBSCRIPTION_ID
- ARM_TENANT_ID
- ARM_CLIENT_ID
- ARM_CLIENT_SECRET
- TF_VAR_resource_group_name
- TF_VAR_azure_key_vault_name
- TF_VAR_hadr_config
volumes:
- ${MOUNT_PATH}:/terraform
networks:
- terraform
- script: |
docker compose -f infrastructure.compose.yaml --env-file .env up --exit-code-from terraform-state-update terraform-state-update
displayName: "Terraform state update"
workingDirectory: $(Build.SourcesDirectory)/pipelines/compose
terraform-state-update:
image: ${TERRAFORM_RUNNER_IMAGE}
entrypoint: |
/bin/sh -c "\
cd terraform;
terraform state list;
terraform state rm 'module.sql-server[0].azurerm_sql_server.sql-server'
terraform import 'module.sql-server[0].azurerm_mssql_server.sql-server' '/subscriptions/${ARM_SUBSCRIPTION_ID}/resourceGroups/${TF_VAR_resource_group_name}/providers/Microsoft.Sql/servers/${TF_VAR_resource_group_name}sql'
terraform state rm 'module.sql-server[0].azurerm_sql_firewall_rule.firewall_azure_resources'
terraform import 'module.sql-server[0].azurerm_mssql_firewall_rule.firewall_azure_resources' '/subscriptions/${ARM_SUBSCRIPTION_ID}/resourceGroups/${TF_VAR_resource_group_name}/providers/Microsoft.Sql/servers/${TF_VAR_resource_group_name}sql/firewallRules/allow_azure'
terraform state rm 'module.sql-server[0].azurerm_sql_firewall_rule.sql_firewall_azure_resources'
terraform import 'module.sql-server[0].azurerm_mssql_firewall_rule.sql_firewall_azure_resources' '/subscriptions/${ARM_SUBSCRIPTION_ID}/resourceGroups/${TF_VAR_resource_group_name}dr/providers/Microsoft.Sql/servers/${TF_VAR_resource_group_name}sql-secondary/firewallRules/allow_azure'
terraform state rm 'module.sql-server[0].azurerm_sql_failover_group.this'
terraform import 'module.sql-server[0].azurerm_mssql_failover_group.this' '/subscriptions/${ARM_SUBSCRIPTION_ID}/resourceGroups/${TF_VAR_resource_group_name}/providers/Microsoft.Sql/servers/${TF_VAR_resource_group_name}sql/failoverGroups/${TF_VAR_resource_group_name}fg'
terraform state rm 'module.sql-server[0].azurerm_sql_server.secondary'
terraform import 'module.sql-server[0].azurerm_mssql_server.secondary' '/subscriptions/${ARM_SUBSCRIPTION_ID}/resourceGroups/${TF_VAR_resource_group_name}dr/providers/Microsoft.Sql/servers/${TF_VAR_resource_group_name}sql-secondary'
terraform state list;
"
environment:
- ARM_SUBSCRIPTION_ID
- ARM_TENANT_ID
- ARM_CLIENT_ID
- ARM_CLIENT_SECRET
- TF_VAR_resource_group_name
- TF_VAR_azure_key_vault_name
- TF_VAR_hadr_config
volumes:
- ${MOUNT_PATH}:/terraform
networks:
- terraform
terraform-state-update-secondary:
image: ${TERRAFORM_RUNNER_IMAGE}
entrypoint: |
/bin/sh -c "\
cd terraform;
terraform state list;
terraform state rm 'module.hadr[0].module.dr-automation-runbook-failure[0].azurerm_template_deployment.automation_runbook_failure_alert'
terraform import 'module.hadr[0].module.dr-automation-runbook-failure[0].azurerm_resource_group_template_deployment.automation_runbook_failure_alert' '/subscriptions/${ARM_SUBSCRIPTION_ID}/resourceGroups/${TF_VAR_resource_group_name}drc/providers/Microsoft.Resources/deployments/<RESOURCE_GROUP_DAA_DEPLOYMENT_NAME>'
terraform state rm 'module.hadr[0].module.dr-control-automation-account[0].azurerm_template_deployment.automation_runbook_webhook'
terraform import 'module.hadr[0].module.dr-control-automation-account[0].azurerm_resource_group_template_deployment.automation_runbook_webhook' '/subscriptions/${ARM_SUBSCRIPTION_ID}/resourceGroups/${TF_VAR_resource_group_name}drc/providers/Microsoft.Resources/deployments/<RESOURCE_GROUP_INGRESSWEBHOOK_DEPLOYMENT_NAME>'
terraform state list;
"
environment:
- ARM_SUBSCRIPTION_ID
- ARM_TENANT_ID
- ARM_CLIENT_ID
- ARM_CLIENT_SECRET
- TF_VAR_resource_group_name
- TF_VAR_azure_key_vault_name
- TF_VAR_hadr_config
volumes:
- ${MOUNT_PATH}:/terraform
networks:
- terraform
- ${{ if eq(parameters.isSecondaryRegion,'True') }}:
- script: |
docker compose -f infrastructure.compose.yaml --env-file .env up --exit-code-from terraform-state-update-secondary terraform-state-update-secondary
displayName: "Terraform state update"
workingDirectory: $(Build.SourcesDirectory)/pipelines/compose
- ${{ else }}:
- script: |
docker compose -f infrastructure.compose.yaml --env-file .env up --exit-code-from terraform-state-update terraform-state-update
displayName: "Terraform state update"
workingDirectory: $(Build.SourcesDirectory)/pipelines/compose
terraform-state-update:
image: ${TERRAFORM_RUNNER_IMAGE}
entrypoint: |
/bin/sh -c "\
cd terraform;
terraform state list;
terraform state rm 'module.sql-server[0].azurerm_sql_server.sql-server'
terraform import 'module.sql-server[0].azurerm_mssql_server.sql-server' '/subscriptions/${ARM_SUBSCRIPTION_ID}/resourceGroups/${TF_VAR_resource_group_name}/providers/Microsoft.Sql/servers/${TF_VAR_resource_group_name}sql'
terraform state rm 'module.sql-server[0].azurerm_sql_firewall_rule.firewall_azure_resources'
terraform import 'module.sql-server[0].azurerm_mssql_firewall_rule.firewall_azure_resources' '/subscriptions/${ARM_SUBSCRIPTION_ID}/resourceGroups/${TF_VAR_resource_group_name}/providers/Microsoft.Sql/servers/${TF_VAR_resource_group_name}sql/firewallRules/allow_azure'
terraform state rm 'module.sql-server[0].azurerm_sql_firewall_rule.sql_firewall_azure_resources'
terraform import 'module.sql-server[0].azurerm_mssql_firewall_rule.sql_firewall_azure_resources' '/subscriptions/${ARM_SUBSCRIPTION_ID}/resourceGroups/${TF_VAR_resource_group_name}dr/providers/Microsoft.Sql/servers/${TF_VAR_resource_group_name}sql-secondary/firewallRules/allow_azure'
terraform state rm 'module.sql-server[0].azurerm_sql_failover_group.this'
terraform import 'module.sql-server[0].azurerm_mssql_failover_group.this' '/subscriptions/${ARM_SUBSCRIPTION_ID}/resourceGroups/${TF_VAR_resource_group_name}/providers/Microsoft.Sql/servers/${TF_VAR_resource_group_name}sql/failoverGroups/${TF_VAR_resource_group_name}fg'
terraform state rm 'module.sql-server[0].azurerm_sql_server.secondary'
terraform import 'module.sql-server[0].azurerm_mssql_server.secondary' '/subscriptions/${ARM_SUBSCRIPTION_ID}/resourceGroups/${TF_VAR_resource_group_name}dr/providers/Microsoft.Sql/servers/${TF_VAR_resource_group_name}sql-secondary'
terraform state list;
"
environment:
- ARM_SUBSCRIPTION_ID
- ARM_TENANT_ID
- ARM_CLIENT_ID
- ARM_CLIENT_SECRET
- TF_VAR_resource_group_name
- TF_VAR_azure_key_vault_name
- TF_VAR_hadr_config
volumes:
- ${MOUNT_PATH}:/terraform
networks:
- terraform
- script: |
docker compose -f infrastructure.compose.yaml --env-file .env up --exit-code-from terraform-state-update terraform-state-update
displayName: "Terraform state update"
workingDirectory: $(Build.SourcesDirectory)/pipelines/compose