Синхронизация ресурсов

Синхронизация ресурсов позволяет создавать, обновлять или удалять ресурсы непосредственно в кластере Kubernetes с помощью API Kubernetes в режиме прямого подключения и автоматически синхронизирует эти изменения в Azure. В этой статье объясняется синхронизация ресурсов.

Примечание.

В отношении технологии (как предварительной версии функции), описанной в этой статье, действуют дополнительные условия использования предварительных версий Microsoft Azure.

Последние обновления доступны в заметках о выпуске.

При развертывании служб данных с поддержкой Azure Arc в режиме прямого подключения развертывание создает правило синхронизации ресурсов. Это правило синхронизации ресурсов гарантирует, что ресурсы Arc, такие как управляемый экземпляр SQL, создаются или обновляются напрямую, вызывая API Kubernetes, обновляются соответствующим образом в сопоставленных ресурсах в 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>

В этом сценарии сначала вызываются API Azure ARM и создается сопоставленный ресурс Azure. После успешного создания этого сопоставленного ресурса вызывается API Kubernetes для создания управляемого экземпляра SQL в кластере Kubernetes.

A flowchart demonstrating resource sync from Azure Data Studio or Azure CLI passing information to the Kubernetes API. Then the resource sync operator passes the information to the Azure ARM API.

С помощью правила синхронизации ресурсов можно использовать API Kubernetes для создания управляемого экземпляра SQL с поддержкой Arc следующим образом:

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 см. в справочнике по REST API Azure. Обязательно используйте подписку на ресурсы и группу ресурсов контроллера данных 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 должен быть развернут через API ARM.
  • Синхронизация ресурсов применяется только к службам данных, таким как управляемый экземпляр SQL с поддержкой Arc, после развертывания контроллера данных.
  • Правило синхронизации ресурсов не проектов Azure Arc с поддержкой PostgreSQL
  • Правило синхронизации ресурсов не проектит соединитель Azure Arc Active Directory
  • Правило синхронизации ресурсов не проектов групп отработки отказа экземпляра Azure Arc

Создание контроллера данных Azure Arc в режиме прямого подключения с помощью CLI