您可以透過資源同步處理功能,在直接連線模式中使用 Kube API 直接建立、更新或刪除 Kube 叢集上的資源,且這些變更會自動同步至 Azure。 本文會介紹資源同步處理功能。
Note
作為預覽功能,本文所述的技術受限於 Microsoft Azure 預覽版增補使用規定。
The latest updates are available in the release notes.
When you deploy Azure Arc-enabled data services in direct connected mode, the deployment creates a resource sync rule. 這項規則可確保透過直接呼叫 Kube API 所建立或更新的資源 (例如 SQL 受控執行個體) 能在 Azure 的對應資源中正確更新,且資源中繼資料會持續同步回 Azure。 此規則會建立於資料控制器所在的資源群組。
Note
根據預設,資源同步規則會在 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 資源。 對應資源成功建立後,系統會呼叫 Kube API,在 Kube 叢集上建立 SQL 受控執行個體。
若有資源同步規則,您便可使用 Kube API 建立已啟用 Arc 的 SQL 受控執行個體,如下所示:
az sql mi-arc create --name <name> --k8s-namespace <namespace> --use-k8s --storage-class-backups <RWX capable storageclass>
在此案例中,SQL 受控執行個體會直接建立於 Kube 叢集中。 資源同步規則可確保 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
}
}
}
}
Limitations
- 資源同步處理規則不會投影 Azure Arc 資料控制器。 Azure Arc 資料控制器必須透過 ARM API 進行部署。
- 資源同步處理功能僅適用於資料服務,例如已啟用 Arc 的 SQL 受控執行個體 (部署資料控制器後)。
- 資源同步處理規則不會投影 Azure Arc Active Directory 連接器
- 資源同步處理規則不會投影 Azure Arc 執行個體容錯移轉群組