Управление обновлениями кластера Service Fabric

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

Дополнительные сведения о концепциях и процессах обновления кластера см. в статье Обновление и обновление кластеров Azure Service Fabric.

Установка режима обновления

Вы можете настроить в кластере получение автоматических обновлений Service Fabric по мере их выпуска корпорацией Майкрософт или выбрать вручную поддерживаемые версии в списке, установив режим обновления для своего кластера. Это можно сделать с помощью элемента управления Режим обновления Fabric на портале Azure или в параметре upgradeMode шаблона развертывания кластера.

Портал Azure

С помощью портала Azure при создании нового кластера Service Fabric можно выбрать между автоматическим или ручным обновлением.

Выбор между автоматическим или ручным обновлением при создании нового кластера на портале Azure в параметрах

Можно также переключаться между автоматическим или ручным обновлением из раздела Обновления Fabric существующего ресурса кластера.

Выберите автоматическое или ручное обновление в разделе

Обновления вручную на портале Azure

При выборе варианта обновления вручную все, что необходимо для начала обновления, — это выбрать из раскрывающегося списка доступные версии, а затем щелкнуть Сохранить. После этого немедленно запустится обновление кластера.

В ходе обновления соблюдаются все политики работоспособности кластера (политики, определяющие состояние работоспособности для узлов и всех приложений, выполняющихся в кластере). Если требования политик работоспособности кластера не реализуются, выполняется откат обновления.

Устранив проблемы, которые привели к откату, запустите обновление снова, выполнив те же действия.

Шаблон Resource Manager

Чтобы изменить режим обновления кластера с помощью шаблона Resource Manager, укажите для свойства upgradeMode в определении ресурса Microsoft.ServiceFabric/clusters значение Automatic (Автоматически) или Manual (Вручную). Если вы выбрали обновление вручную, также задайте для clusterCodeVersion значение поддерживаемой в настоящее время версии Fabric.

На снимке экрана показан шаблон, структура которого представлена в виде текста с отступами. Свойства clusterCodeVersion и upgradeMode выделены.

После успешного развертывания шаблона будут применены изменения в режиме обновления кластера. Если кластер работает в ручном режиме, обновление кластера будет запущено автоматически.

В ходе обновления соблюдаются все политики работоспособности кластера (политики, определяющие состояние работоспособности для узлов и всех приложений, выполняющихся в кластере). Если требования политик работоспособности кластера не реализуются, выполняется откат обновления.

Устранив проблемы, которые привели к откату, запустите обновление снова, выполнив те же действия.

Развертывание автоматического обновления волнами

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

Включение развертывания волнами

Примечание

Для развертывания волнами для ресурса Microsoft. ServiceFabric/Clusters требуется версия API 2020-12-01-preview (или более поздняя).

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

  • Волна 0 (Wave0). Кластеры обновляются сразу после выпуска новой сборки Service Fabric. Предназначена для тестирования и разработки кластеров.
  • Волна 1 (Wave1). Кластеры обновляются через одну неделю (семь дней) после выпуска новой сборки. Предназначена для предварительных и промежуточных кластеров.
  • Волна 2 (Wave2). Кластеры обновляются через две недели (14 дней) после выпуска новой сборки. Предназначена для рабочих кластеров.

Затем просто добавьте свойство upgradeWave в шаблон ресурсов кластера с помощью одного из перечисленных выше значений волн. Убедитесь, что версия API ресурсов кластера — 2020-12-01-preview или более поздняя.

{
    "apiVersion": "2020-12-01-preview",
    "type": "Microsoft.ServiceFabric/clusters",
     ...
        "fabricSettings": [...],
        "managementEndpoint": ...,
        "nodeTypes": [...],
        "provisioningState": ...,
        "reliabilityLevel": ...,
        "upgradeMode": "Automatic",
        "upgradeWave": "Wave1",
       ...

После развертывания обновленного шаблона кластер будет зарегистрирован в указанной волне в течение следующего периода обновления и после этого.

Вы можете зарегистрироваться для получения уведомлений по электронной почте со ссылками для дальнейшей помощи в случае сбоя обновления кластера.

Регистрация для использования уведомлений

Вы можете зарегистрироваться для получения уведомлений при сбое обновления кластера. На указанные вами адреса электронной почты будет отправлено электронное письмо с дополнительными сведениями об ошибке обновления и ссылками на дополнительную помощь.

Примечание

Для получения уведомлений об ошибках обновления регистрация в развертывании волнами не требуется.

Чтобы выполнить регистрацию в уведомлениях, добавьте раздел notifications в шаблон ресурсов кластера и назначьте один или несколько адресов электронной почты (получателей) для получения уведомлений:

    "apiVersion": "2020-12-01-preview",
    "type": "Microsoft.ServiceFabric/clusters",
     ...
        "upgradeMode": "Automatic",
        "upgradeWave": "Wave1",
        "notifications": [
        {
            "isEnabled": true,
            "notificationCategory": "WaveProgress",
            "notificationLevel": "Critical",
            "notificationTargets": [
            {
                "notificationChannel": "EmailUser",
                "receivers": [
                    "devops@contoso.com"
                ]
            }]
        }]

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

Пользовательские политики для обновления вручную

Можно указать настраиваемые политики работоспособности для обновлений вручную в кластере. Эти политики применяются каждый раз при выборе новой версии среды выполнения, которая активирует систему для запуска обновления кластера. Если политики не переопределить, будут использоваться значения по умолчанию.

Вы можете указать настраиваемые политики работоспособности или проверить текущие параметры в разделе Обновления Fabric ресурса кластера на портале Azure, выбрав Пользовательский параметр для Политики обновления.

Выберите параметр политики обновления

Запрос поддерживаемых версий кластера

В документации по версиям Service Fabric вы можете получить дополнительные сведения о поддерживаемых версиях и операционных системах.

Вы можете использовать Azure REST API, чтобы получить список всех версий среды выполнения Service Fabric (clusterVersions), доступных для указанного расположения и подписки.

GET https://<endpoint>/subscriptions/{{subscriptionId}}/providers/Microsoft.ServiceFabric/locations/{{location}}/clusterVersions?api-version=2018-02-01

"value": [
  {
    "id": "subscriptions/########-####-####-####-############/providers/Microsoft.ServiceFabric/environments/Windows/clusterVersions/5.0.1427.9490",
    "name": "5.0.1427.9490",
    "type": "Microsoft.ServiceFabric/environments/clusterVersions",
    "properties": {
      "codeVersion": "5.0.1427.9490",
      "supportExpiryUtc": "2016-11-26T23:59:59.9999999",
      "environment": "Windows"
    }
  },
  {
    "id": "subscriptions/########-####-####-####-############/providers/Microsoft.ServiceFabric/environments/Windows/clusterVersions/4.0.1427.9490",
    "name": "5.1.1427.9490",
    "type": " Microsoft.ServiceFabric/environments/clusterVersions",
    "properties": {
      "codeVersion": "5.1.1427.9490",
      "supportExpiryUtc": "9999-12-31T23:59:59.9999999",
      "environment": "Windows"
    }
  },
  {
    "id": "subscriptions/########-####-####-####-############/providers/Microsoft.ServiceFabric/environments/Windows/clusterVersions/4.4.1427.9490",
    "name": "4.4.1427.9490",
    "type": " Microsoft.ServiceFabric/environments/clusterVersions",
    "properties": {
      "codeVersion": "4.4.1427.9490",
      "supportExpiryUtc": "9999-12-31T23:59:59.9999999",
      "environment": "Linux"
    }
  }
]
}

Значение supportExpiryUtc в выходных отчетах при приближении истечения или истечении срока действия определенного выпуска. Для последнего выпуска нет допустимой даты, то есть параметр имеет значение 9999-12-31T23:59:59.9999999. Это означает, что дата окончания срока действия еще не определена.

Проверка поддерживаемых путей обновления

В документации по версиям Service Fabric вы найдете сведения о поддерживаемых путях обновления и связанных с ними версиях.

Используя сведения о поддерживаемой целевую версию, вы можете проверить поддерживаемый путь обновления с помощью указанных ниже действий PowerShell.

  1. Вход в Azure

    Login-AzAccount
    
  2. Выбор подписки

    Set-AzContext -SubscriptionId <your-subscription>
    
  3. Вызов API

    $params = @{ "TargetVersion" = "<target version>"}
    Invoke-AzResourceAction -ResourceId <cluster resource id> -Parameters $params -Action listUpgradableVersions -Force
    

    Пример

    $params = @{ "TargetVersion" = "8.1.335.9590"}
    Invoke-AzResourceAction -ResourceId /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster -Parameters $params -Action listUpgradableVersions -Force
    
    Output
    supportedPath
    -------------
    {8.1.329.9590, 8.1.335.9590}
    

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