If you’ve been running your SQL Server 2019 Big Data Cluster (BDC) for a while now, you probably want to patch it to the current (or a specific) build version.
Upgrading a BDC is actually fairly easy. A couple of commands will do the trick.
Before you upgrade you’ll need to know the namespace of the BDC that you are working with. I published how to get your namespace earlier. To recap, getting your list of namespaces is pretty straight forward.
az aks get-credentials --name aks-cluster --resource-group aks-resource-group
Once you have your credentials, you can request the list of namespaces.
kubectl get namespaces
From there you can use azdata to auth against the cluster. Keep in mind that this is the admin account for the cluster, not your windows or Azure AAD credentials.
azdata login
Once you have provided your namespace, username and password you can request the upgrade.
azdata bdc upgrade -n {namespace} -t latest -r mcr.microsoft.com/mssql/bdc
If you want a version of SQL Server 2019 other that the latest, change the -t value from latest to something like “2019-CU2-ubuntu-16.04”. You can see what the various tags are if you are looking for a specific build over on Microsoft Docs.
The azdata bdc upgrade command may take a while to upgrade, so be patient.
Now if you are running your BDC in aks in Azure, you’ll probably get an upgrade failure. This is because you need to upgrade the timeouts. To do this run the following command.
kubectl edit configmap controller-upgrade-configmap -n {namespace}
To run it successfully you’ll need the namespace that you used earlier.
This will open a notepad document. In that document find controllerUpgradeTimeoutInMinutes and set its value to 40. Find totalUpgradeTimeoutInMinutes and set its value to 45. Find componentUpgradeTimeoutInMinutes and set its value to 45. If the upgrade fails again, you may need to increase these values and run the upgrade again.
Denny