Поделиться через


Введение в MaintenanceControl в управляемых кластерах Service Fabric

Управляемые кластеры Service Fabric имеют несколько фоновых операций, необходимых для поддержания обновления всего кластера, обеспечивая безопасность и надежность. Несмотря на то, что эти операции являются критически важными, но выполнение в фоновом режиме может привести к тому, что служба реплика перейти на другой узел. Эта отработка отказа приведет к нежелательным и ненужным прерываниям, если операция обслуживания выполняется в течение пиковых рабочих часов. Благодаря поддержке MaintenanceControl в управляемых кластерах Service Fabric клиенты смогут определить повторяющееся (ежедневное, еженедельное, ежемесячное) и пользовательское окно обслуживания для своего ресурса кластера SFMC в соответствии с потребностями. Все операции фонового обслуживания будут разрешены только во время этого периода обслуживания. MaintenanceControl применим к этим фоновым операциям:

  • Автоматическое обновление ОС
  • Автоматическое обновление расширений
  • Автоматическое обновление версий среды выполнения SF
  • Автоматическое обновление сертификата кластера

Требования.

  • Конфигурация периода обслуживания должна быть определена только для ресурса управляемого кластера Service Fabric
  • Минимальный поддерживаемый размер окна составляет 5 часов

Как работает MaintenanceControl для SFMC

  • Клиентам необходимо определить конфигурацию обслуживания, содержащую расписание и правило повторения для периода обслуживания, создав ресурс конфигурации обслуживания с RP обслуживания. Дополнительные сведения
  • С этой конфигурацией обслуживания создается ресурс назначения для назначения конфигурации обслуживания ресурсу кластера SFMC.
  • при создании ресурса назначения служба обслуживания уведомляет ServiceFabric RP о связи и управлении обслуживанием, а затем включена в кластере SFMC. Все операции фонового обслуживания блокируются за пределами периода обслуживания.
  • Всякий раз, когда период обслуживания активируется в соответствии с расписанием в конфигурации обслуживания, RP обслуживания уведомляет ServiceFabric RP, который активирует период обслуживания в соответствующем кластере SFMC. Все фоновые операции могут выполняться во время этого окна.

Пример развертывания

Ниже приведен пошаговый процесс настройки кластера с помощью управления обслуживанием. Скачайте этот пример, содержащий все необходимые ресурсы. Пример управляемого кластера Service Fabric уровня "Стандартный"

  1. Создайте группу ресурсов в регионе:

    Login-AzAccount
    Select-AzSubscription -SubscriptionId $subscriptionid
    New-AzResourceGroup -Name $myresourcegroup -Location $location
    
  2. Создание ресурса кластера:

    Выполните следующую команду, чтобы развернуть ресурс кластера:

    $parameters = @{
    clusterName = $clusterName
    adminPassword = $VmAdminPassword
    clientCertificateThumbprint = $clientCertificateThumbprint
    }
    New-AzResourceGroupDeployment -Name "deploy_cluster" -ResourceGroupName $resourceGroupName -TemplateFile .\azuredeploy.json -TemplateParameterObject $parameters -Verbose
    
  3. Настройте управление обслуживанием в кластере с помощью следующей конфигурации обслуживания:

Эта конфигурация обслуживания определяет расписание для выполнения обновлений каждый день с 10 ВЕЧЕРА PST для 5hours, начиная с 30-05-2023. Дополнительные сведения о конфигурации обслуживания

    "resources": [
        {
            "type": "Microsoft.Maintenance/maintenanceConfigurations",
            "apiVersion": "2022-07-01-preview",
            "name": "mc1",
            "location": "[parameters('location')]",
            "properties": {
                "maintenanceScope": "Resource",
                "extensionProperties": {
                   "maintenanceSubScope": "SFMC"
                },
                "maintenanceWindow": {
                    "startDateTime": "2023-05-30 22:00",
                    "duration": "05:00",
                    "timeZone": "Pacific Standard Time",
                    "expirationDateTime": null,
                    "recurEvery": "1Day"
                }
            }
        }

Примечание.

Как описано в конфигурации, конфигурация обслуживания для ресурса кластера SFMC должна иметь обслуживаниеScope: Resource и maintenanceSubScope: SFMC.

После создания конфигурации обслуживания его необходимо подключить к кластеру SFMC с помощью ресурса назначения. Дополнительные сведения о назначении:

    "resources": [
        { 
           "type": "Microsoft.Resources/deployments",
            "apiVersion": "2022-09-01",
            "name": "ConfigurationAssignmentsName",
            "dependsOn": [
                "[concat('Microsoft.Maintenance/maintenanceConfigurations/', 'mc1')]",
                "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
            ],
            "properties": {
                "mode": "Incremental",
                "template": {
                    "$schema": "http://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
                    "resources": [
                        {
                            "apiVersion": "2022-07-01-preview",
                            "type": "Microsoft.Maintenance/configurationAssignments",
                            "name": "mc1Assignment",
                            "location": "[parameters('location')]",
                            "scope": "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]",
                            "tags": {},
                            "properties": {
                                "maintenanceConfigurationId": "/subscriptions/<subId>/resourcegroups/<rgName>/providers/microsoft.maintenance/maintenanceconfigurations/mc1"
                            }
                        }
                    ]
                }
            },
            "subscriptionId": "<subId>",
            "resourceGroup": "<rgName>"
        }

Примечание.

  • Чтобы отключить элемент управления обслуживанием в кластере, удалите назначение для кластера.
  • Ресурсы обслуживания и ресурс кластера SFMC должны быть созданы в одном регионе.

Примечание.

Известные проблемы:

  • В управляемом кластере Service Fabric должен быть максимальный ресурс конфигурации обслуживания. Существует работа по предотвращению назначения нескольких конфигураций обслуживания. До тех пор пользователи, как ожидается, не будут выполнять несколько назначений конфигурации для одного кластера.
  • Удаление только ресурса конфигурации обслуживания не отключает MaintenanceControl. Чтобы отключить MaintenanceControl, необходимо специально удалить конфигурациюAssignment для кластера, прежде чем удалять ресурс конфигурации обслуживания.
  • Работа с порталом Azure для управления обслуживанием с помощью SFMC в настоящее время ведется, поэтому клиенты не должны полагаться только на портале. Проблемы с ресурсами обслуживания, такими как кластер SFMC, отображаются как ресурс виртуальной машины и не могут выполнять поиск и назначение кластера SFMC на портале.