你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
删除 Azure Arc 启用的 SQL 托管实例
在本操作指南中,你将找到并删除由 Azure Arc 启用的 SQL 托管实例。或者,在删除托管实例后,你可以回收关联的 Kubernetes 持久卷声明 (PVC)。
查找现有实例:
az sql mi-arc list --k8s-namespace <namespace> --use-k8s
示例输出:
Name Replicas ServerEndpoint State ------ ---------- ---------------- ------- demo-mi 1/1 10.240.0.4:32023 Ready
删除 SQL 托管实例,运行适合你的部署类型的命令之一:
间接连接模式:
az sql mi-arc delete --name <instance_name> --k8s-namespace <namespace> --use-k8s
示例输出:
# az sql mi-arc delete --name demo-mi --k8s-namespace <namespace> --use-k8s Deleted demo-mi from namespace arc
直接连接模式:
az sql mi-arc delete --name <instance_name> --resource-group <resource_group>
示例输出:
# az sql mi-arc delete --name demo-mi --resource-group my-rg Deleted demo-mi from namespace arc
可选 - 回收 Kubernetes PVC
永久性卷声明 (PVC) 是用户在创建存储并添加到 SQL 托管实例时,由 Kubernetes 群集中的用户提出的存储请求。 建议删除 PVC,但不是必需的。 但是,如果不回收这些 PVC,那么 Kubernetes 群集中最终会出现错误。 例如,无法通过 Kubernetes API 来创建、读取、更新或删除资源。 你可能无法运行像 az arcdata dc export
这样的命令,因为控制器 pod 由于存储问题而被从 Kubernetes 节点中逐出(正常的 Kubernetes 行为)。 你可以在日志中看到类似于以下内容的消息:
- 注释:microsoft.com/ignore-pod-health: true
- 状态:失败
- 原因:被逐出
- 消息:节点资源(临时存储)不足。 容器控制器使用的是 16372Ki,超过了其请求的 0。
根据设计,删除 SQL 托管实例不会删除其关联的 PVC。 目的是确保你可以访问数据库文件,以防意外删除。
- 若要回收 PVC,请执行以下步骤:
查找已删除的服务器组的 PVC。
kubectl get pvc
在下面的示例中,请留意删除的 SQL 托管实例的 PVC。
# kubectl get pvc -n arc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE data-demo-mi-0 Bound pvc-1030df34-4b0d-4148-8986-4e4c20660cc4 5Gi RWO managed-premium 13h logs-demo-mi-0 Bound pvc-11836e5e-63e5-4620-a6ba-d74f7a916db4 5Gi RWO managed-premium 13h
删除已删除的每个 SQL 托管实例的数据和日志 PVC。 此命令的一般格式为:
kubectl delete pvc <name of pvc>
例如:
kubectl delete pvc data-demo-mi-0 -n arc kubectl delete pvc logs-demo-mi-0 -n arc
其中每个 kubectl 命令都将确认成功删除 PVC。 例如:
persistentvolumeclaim "data-demo-mi-0" deleted persistentvolumeclaim "logs-demo-mi-0" deleted
相关内容
详细了解由 Azure Arc 启用的 SQL 托管实例的特性和功能
已创建数据控制器? 创建由 Azure Arc 启用的 SQL 托管实例