The procedure requires the cluster downtime, so plan accordingly.

1. Verify that the cluster is up, running, and healthy, and that cluster features are upgraded to the current KCP version.

2. Prepare applications running in the cluster for downtime - backup, shutdown, etc - as necessary.

3. Delete the following Azure resources (whichever are available) in Azure portal or using Azure CLI tool az:

  • ${cluster-name}-LoadBalancer-public - Load balancer
  • ${cluster-name}-LoadBalancer-private - Load balancer
  • ${cluster-name} - Load balancer
  • ${cluster-name}-internal - Load balancer

4. Be carefule and make sure that you DO NOT REMOVE

  • Any other managed disks, especially disks with the names pvc-* and ${cluster-name}-master*-dataDisk
  • Any public IP addresses
  • Any storage accounts

5. Update the cluster spec as follows:

Change properties related to the legacy Azure architecture

    - azure:
        loadBalancerSKU: Standard
      - azure:
          masterLBSeparate: false # if it was specified and was true before

6. Validate the spec before submitting, and if there are no warnings, submit for update.

7. Wait for the cluster update to complete in Kublr

8. Upgrade any Azure public IP addresses allocated by Kubernetes for the Services of LoadBalancer type to Standard SKU in Azure portal or using Azure CLI tool az