doc/user/content/self-managed-deployments/upgrading/upgrade-on-azure.md
The following tutorial upgrades your Materialize deployment running on Azure Kubernetes Service (AKS). The tutorial assumes you have installed the example on Install on Azure.
{{% include-from-yaml data="self_managed/upgrades" name="upgrades-general-rules" %}}
{{< note >}} {{< include-from-yaml data="self_managed/upgrades" name="upgrade-major-version-restriction" >}} {{< /note >}}
{{< note >}} {{< include-from-yaml data="self_managed/upgrades" name="downgrade-restriction" >}} {{< /note >}}
{{< important >}}
The following procedure performs a rolling upgrade, where both the old and new Materialize instances are running before the old instances are removed. When performing a rolling upgrade, ensure you have enough resources to support having both the old and new Materialize instances running.
{{</ important >}}
Open a Terminal window.
Configure Azure CLI with your Azure credentials. For details, see the Azure documentation.
Go to the Terraform directory for your Materialize deployment. For example,
if you deployed from the azure/examples/simple directory:
cd materialize-terraform-self-managed/azure/examples/simple
Configure kubectl to connect to your AKS cluster, replacing:
<your-resource-group-name> with your resource group name; i.e., the
resource_group_name in the Terraform output or in the
terraform.tfvars file.
<your-aks-cluster-name> with your cluster name; i.e., the
aks_cluster_name in the Terraform output. For the sample example,
your cluster name has the form {prefix_name}-aks; e.g., simple-demo-aks`.
# az aks get-credentials --resource-group <your-resource-group-name> --name <your-aks-cluster-name>
az aks get-credentials --resource-group $(terraform output -raw resource_group_name) --name $(terraform output -raw aks_cluster_name)
To verify that you have configured correctly, run the following command:
kubectl get nodes
For help with kubectl commands, see kubectl Quick reference.
{{< important >}}
{{% include-from-yaml data="self_managed/upgrades" name="upgrade-order-rule" %}}
{{</ important >}}
{{% include-from-yaml data="self_managed/upgrades" name="upgrade-update-helm-chart" %}}
{{< important >}}
{{% include-from-yaml data="self_managed/upgrades" name="upgrade-order-rule" %}}
{{</ important >}}
{{% include-from-yaml data="self_managed/upgrades" name="upgrade-materialize-operator" %}}
{{< important >}}
{{% include-from-yaml data="self_managed/upgrades" name="upgrade-order-rule" %}}
{{</ important >}}
{{% include-from-yaml data="self_managed/upgrades" name="upgrade-materialize-instance" %}}