資源同步處理
您可以透過資源同步處理功能,在直接連線模式中使用 Kube API 直接建立、更新或刪除 Kube 叢集上的資源,且這些變更會自動同步至 Azure。 本文會介紹資源同步處理功能。
以直接連線模式部署已啟用 Azure Arc 的資料服務時,部署會建立一項「資源同步處理」規則。 這項規則可確保透過直接呼叫 Kube API 所建立或更新的資源 (例如 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 資源。 對應資源成功建立後,系統會呼叫 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
}
}
}
}
限制
- 資源同步處理規則不會投影 Azure Arc 資料控制器。 Azure Arc 資料控制器必須透過 ARM API 進行部署。
- 資源同步處理功能僅適用於資料服務,例如已啟用 Arc 的 SQL 受控執行個體 (部署資料控制器後)。
- 資源同步處理規則不會投影已啟用 Azure Arc 的 PostgreSQL
- 資源同步處理規則不會投影 Azure Arc Active Directory 連接器
- 資源同步處理規則不會投影 Azure Arc 執行個體容錯移轉群組