你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
资源同步
通过资源同步,在直接连接模式下使用 Kubernetes API 直接在 Kubernetes 群集上创建、更新或删除资源,并自动将这些更改同步到 Azure。 本文介绍资源同步。
在直接连接模式下部署启用了 Azure Arc 的数据服务时,部署会创建资源同步规则。 此资源同步规则确保通过直接调用 Kubernetes API 创建或更新的 Arc 资源(如 SQL 托管实例)在 Azure 中的映射资源中适当更新,资源元数据持续同步回 Azure。 此规则是在与数据控制器相同的资源组中创建的。
注意
资源同步规则是在 Azure Arc 数据控制器部署期间默认创建的,仅适用于直接连接模式。
如果没有资源同步规则,则使用以下命令创建 SQL 托管实例:
az sql mi-arc create --name <name> --resource-group <group> --location <Azure location> -–subscription <subscription> --custom-location <custom-location> --storage-class-backups <RWX capable storageclass>
在这种情况下,首先调用 Azure ARM API 并创建映射的 Azure 资源。 成功创建此映射资源后,将调用 Kubernetes API 在 Kubernetes 群集上创建 SQL 托管实例。
通过资源同步规则,可以使用 Kubernetes API 创建启用 Arc 的 SQL 托管实例,如下所示:
az sql mi-arc create --name <name> --k8s-namespace <namespace> --use-k8s --storage-class-backups <RWX capable storageclass>
在这种情况下,SQL 托管实例直接创建在 Kubernetes 群集中。 资源同步规则可确保同时创建 Azure 中的等效资源。
如果资源同步规则被意外删除,可以使用以下 REST API 将其重新添加以恢复同步功能。 有关执行 REST API 的指导,请参阅 Azure REST API 参考。 请确保使用数据控制器 Azure 资源订阅和资源组。
https://management.azure.com/subscriptions/{{subscription}}/resourcegroups/{{resource_group}}/providers/microsoft.extendedlocation/customlocations/{{custom_location_name}}/resourcesyncrules/defaultresourcesyncrule?api-version=2021-08-31-preview
"location": "{{Azure region}}",
"properties": {
"targetResourceGroup": "/subscriptions/{{subscription}}/resourcegroups/{{resource_group_of_ data_controller}}",
"priority": 100,
"selector": {
"matchLabels": {
"management.azure.com/resourceProvider": "Microsoft.AzureArcData" //Mandatory
}
}
}
}
限制
- 资源同步规则不会规划 Azure Arc 数据控制器。 Azure Arc 数据控制器必须通过 ARM API 部署。
- 资源同步仅适用于数据服务,如启用 Arc 的 SQL 托管实例、数据控制器的后期部署。
- 资源同步规则不会规划启用 Azure Arc 的 PostgreSQL
- 资源同步规则不会规划 Azure Arc Active Directory 连接器
- 资源同步规则不会规划 Azure Arc 实例故障转移组