Skip to content

Commit 435c0b2

Browse files
committed
Improve delete instructions
1 parent 4170125 commit 435c0b2

2 files changed

Lines changed: 29 additions & 5 deletions

File tree

articles/iot-operations/deploy-iot-ops/howto-manage-update-uninstall.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Use the Azure CLI or Azure portal to manage your Azure IoT Operatio
44
author: dominicbetts
55
ms.author: dobett
66
ms.topic: how-to
7-
ms.date: 10/02/2025
7+
ms.date: 02/10/2026
88
ms.custom:
99
- devx-track-azurecli
1010
- sfi-image-nochange
@@ -236,11 +236,16 @@ az iot ops update --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP> --fea
236236
The Azure IoT Operations CLI and Azure portal offer different options for uninstalling Azure IoT Operations.
237237

238238
> [!IMPORTANT]
239-
> If you want to clean up your cluster and resource group, it's recommended to first remove Azure IoT Operations from the cluster using the Azure IoT Operations CLI commands in the following section. Then, you can delete the resource group. Deleting the resource group directly will leave orphaned resources on the cluster.
239+
> To clean up your cluster and resource group, first remove Azure IoT Operations from the cluster using the Azure IoT Operations CLI commands in the following section. Then, you can delete the resource group. Deleting the resource group directly leaves orphaned resources on the cluster that may cause subsequent deployments to fail.
240240
241241

242242
### [Azure portal](#tab/portal)
243243

244+
> [!IMPORTANT]
245+
> Deleting the Azure IoT Operations instance in the Azure portal doesn't remove the dependencies that were created when you deployed Azure IoT Operations. To remove these dependencies, use the `az iot ops delete --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP> --include-deps` command described in the Azure CLI procedure.
246+
247+
To delete an Azure IoT Operations instance using the Azure portal:
248+
244249
1. In the [Azure portal](https://portal.azure.com), go to the resource group that contains your Azure IoT Operations instance, or search for and select **Azure IoT Operations**.
245250

246251
1. Select the name of your Azure IoT Operations instance.
@@ -251,9 +256,6 @@ The Azure IoT Operations CLI and Azure portal offer different options for uninst
251256

252257
:::image type="content" source="./media/howto-manage-update-uninstall/delete-instance.png" alt-text="A screenshot that shows deleting an Azure IoT Operations instance in the Azure portal.":::
253258

254-
> [!NOTE]
255-
> Deleting the Azure IoT Operations instance in the Azure portal doesn't remove the dependencies that were created when you deployed Azure IoT Operations. To remove these dependencies, use the `az iot ops delete --name <INSTANCE_NAME> --resource-group <RESOURCE_GROUP> --include-deps` command described in the Azure CLI procedure.
256-
257259
### [Azure CLI](#tab/cli)
258260

259261
Use the [az iot ops delete](/cli/azure/iot/ops#az-iot-ops-delete) command to delete the entire Azure IoT Operations deployment from a cluster. The `delete` command evaluates the Azure IoT Operations related resources on the cluster and presents a tree view of the resources to be deleted. The cluster should be online when you run this command.

articles/iot-operations/troubleshoot/troubleshoot.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,28 @@ A deployment might fail if the cluster doesn't have sufficient resources for the
7979
8080
To learn more about how to choose suitable values for these parameters, see [Configure broker settings for high availability, scaling, and memory usage](../manage-mqtt-broker/howto-configure-availability-scale.md).
8181

82+
## Troubleshoot Azure IoT Operations uninstall
83+
84+
To uninstall Azure IoT Operations, always use `az iot ops delete`, which handles the proper sequencing automatically and avoids the following issues:
85+
86+
### Namespace stuck in "Terminating" status
87+
88+
If you try to delete the namespace directly, finalizers on Azure IoT Operations resources such as the `Instance` custom resource block the deletion. The namespace gets stuck in a permanent "Terminating" state, leaving the cluster in a deadlock that's difficult to recover from without manual intervention.
89+
90+
To resolve this issue, use `az iot ops delete` to delete an Azure IoT Operations instance.
91+
92+
### Orphaned cluster-scoped resources
93+
94+
If you force-delete the namespace by manually removing finalizers, cluster-scoped resources such as `ClusterRoles`, `ClusterRoleBindings`, `ValidatingWebhookConfigurations`, and `MutatingWebhookConfigurations` remain behind. These orphaned resources can block future Azure IoT Operations installations, requiring you to either clean up each resource manually or reset the entire cluster.
95+
96+
To resolve this issue, use `az iot ops delete` to delete an Azure IoT Operations instance.
97+
98+
### You see an "Instance must be deleted first" error message
99+
100+
If you try to delete the Arc extension directly using `az k8s-extension delete`, a validation blocks the operation with a message saying the `Instance` must be deleted first. Don't try to manually delete the `Instance` custom resource.
101+
102+
To resolve this issue, use `az iot ops delete` to delete an Azure IoT Operations instance and handle the proper sequencing automatically.
103+
82104
## Troubleshoot Azure Key Vault secret management
83105

84106
If you see the following error message related to secret management, update your Azure Key Vault contents:

0 commit comments

Comments
 (0)