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

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

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

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

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

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

Примечание

Для кластеров по умолчанию будет задана Волна 0.

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

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

Настройка Волн для кластера

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

Портал Azure

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

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

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

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

Шаблон Resource Manager

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

Обновление вручную

{
  "apiVersion": "2021-05-01",
  "type": "Microsoft.ServiceFabric/managedClusters",
  "properties": {
    "clusterUpgradeMode": "Manual",
    "clusterCodeVersion": "8.0.514.9590"
  }
}

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

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

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

Автоматическое обновление с помощью развертывания волны

Чтобы настроить автоматическое обновление и развертывание волны, просто добавьте или проверьте, что для параметра ClusterUpgradeMode задано значение Automatic, а свойство clusterUpgradeCadence определяется с помощью одного из значений волны, перечисленных выше в шаблоне Resource Manager.

{
  "apiVersion": "2021-05-01",
  "type": "Microsoft.ServiceFabric/managedClusters",
  "properties": {
    "clusterUpgradeMode": "Automatic",
    "clusterUpgradeCadence": "Wave1"
  }
}

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

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

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

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

GET https://<endpoint>/subscriptions/{{subscriptionId}}/providers/Microsoft.ServiceFabric/locations/{{location}}/managedclusterVersions?api-version=2021-05-01

"value": [
  {
    "id": "subscriptions/########-####-####-####-############/providers/Microsoft.ServiceFabric/locations/eastus2/environments/Windows/managedClusterVersions/7.2.477.9590",
    "name": "7.2.477.9590",
    "type": "Microsoft.ServiceFabric/locations/environments/managedClusterVersions",
    "properties": {
      "supportExpiryUtc": "2021-11-30T00:00:00",
      "osType": "Windows",
      "clusterCodeVersion": "7.2.477.9590"
    }
  },
  {
    "id": "subscriptions/########-####-####-####-############/providers/Microsoft.ServiceFabric/locations/eastus2/environments/Windows/managedClusterVersions/8.0.514.9590",
    "name": "8.0.514.9590",
    "type": "Microsoft.ServiceFabric/locations/environments/managedClusterVersions",
    "properties": {
      "supportExpiryUtc": "9999-12-31T23:59:59.9999999",
      "osType": "Windows",
      "clusterCodeVersion": "8.0.514.9590"
    }
  }
]

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

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