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


Исправление операционной системы Windows в кластере Service Fabric

Получение автоматических обновлений образа ОС в масштабируемых наборах виртуальных машин — лучшая практика для поддержания вашей операционной системы обновлённой в Azure. Для автоматического обновления образа ОС на основе масштабируемого набора виртуальных машин потребуется серебро или более высокая устойчивость в масштабируемом наборе.

Требования к автоматическому обновлению образа ОС с помощью масштабируемых наборов виртуальных машин

  • Уровень устойчивости Service Fabric — Серебро или Золото, а не Бронза.
  • Расширение Service Fabric в определении модели масштабируемого набора должно иметь версию TypeHandlerVersion 1.1 или более позднюю.
  • В определении модели масштабируемого набора должен быть задан одинаковый уровень устойчивости для кластера Service Fabric и расширения Service Fabric.
  • Дополнительная проверка работоспособности или использование расширения работоспособности приложения для масштабируемых наборов виртуальных машин не требуется.
  • Единственное исключение составляют типы узлов без отслеживания состояния, которые имеют устойчивость уровня "Бронза", но автоматическое обновление образа ОС все равно можно настроить для них. Дополнительные сведения см. в статье "Развертывание кластера Azure Service Fabric с типами узлов без отслеживания состояния".

Убедитесь, что отсутствуют несоответствия параметров устойчивости в кластере Service Fabric и расширении Service Fabric, так как несоответствие приведет к ошибкам обновления. Уровни устойчивости можно изменять в соответствии с рекомендациями, приведенными на этой странице.

При уровне прочности Bronze автоматическое обновление образа ОС недоступно. Так как Приложение для оркестрации исправлений (предназначенное только для кластеров, не размещаемых в Azure) для уровней устойчивости "серебряный" и выше не рекомендуется, вам остается единственный вариант — настроить автоматическое обновление Windows для доменов обновления Service Fabric.

Если вы хотите перейти с приложения оркестрации исправлений на автоматическое обновление образа ОС, сначала следует отказаться от использования приложения оркестрации исправлений.

Включение автоматического обновления ОС и отключение Windows Update

При включении автоматических обновлений ОС также необходимо отключить службу Windows Update в шаблоне развертывания. После развертывания этих изменений все компьютеры в масштабируемом наборе будут переосмыслены, а масштабируемый набор будет включен для автоматического обновления.

Это важно

Service Fabric не поддерживает обновления in-VM, в которых Windows Updates применяют исправления операционной системы без замены диска ОС.

Примечание.

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

  1. Включите автоматическое обновление образа ОС и отключите обновления Windows в шаблоне развертывания:

    "properties": {
       "upgradePolicy": {
         "mode": "Automatic",
          "automaticOSUpgradePolicy": {
            "enableAutomaticOSUpgrade": true
          }
        }
    }
    
    "osProfile": { 
       "windowsConfiguration": { 
         "enableAutomaticUpdates": false 
        }
    }
    
    Update-AzVmss -ResourceGroupName $resourceGroupName -VMScaleSetName $scaleSetName -AutomaticOSUpgrade $true -EnableAutomaticUpdate $false
    
  2. Обновите модель масштабируемого набора. После этого изменения конфигурации необходимо повторно создать образ всех компьютеров, чтобы обновить модель масштабируемого набора, чтобы изменения вступают в силу:

    $scaleSet = Get-AzVmssVM -ResourceGroupName $resourceGroupName -VMScaleSetName $scaleSetName
    $instances = foreach($vm in $scaleSet)
    {
        Set-AzVmssVM -ResourceGroupName $resourceGroupName -VMScaleSetName $scaleSetName -InstanceId $vm.InstanceID -Reimage
    }
    

Дальнейшие действия

Узнайте, как включить автоматическое обновление образа ОС в масштабируемых наборах виртуальных машин.