Управление обновлениями кластера Service Fabric
Кластер Service Fabric Azure представляет собой ресурс, который принадлежит вам, но частично управляется корпорацией Майкрософт. Как можно управлять тем, когда и как корпорация Майкрософт обновляет кластер Azure Service Fabric.
Дополнительные сведения о концепциях и процессах обновления кластера см. в статье Об обновлении и обновлении кластеров Azure Service Fabric.
Установка режима обновления
Вы можете настроить в кластере получение автоматических обновлений Service Fabric по мере их выпуска корпорацией Майкрософт или выбрать вручную поддерживаемые версии в списке, установив режим обновления для своего кластера. Это можно сделать с помощью элемента управления Режим обновления Fabric на портале Azure или в параметре upgradeMode
шаблона развертывания кластера.
Портал Azure
С помощью портала Azure при создании нового кластера Service Fabric можно выбрать между автоматическим или ручным обновлением.
Можно также переключаться между автоматическим или ручным обновлением из раздела Обновления Fabric существующего ресурса кластера.
Обновления вручную на портале Azure
При выборе варианта обновления вручную все, что необходимо для начала обновления, — это выбрать из раскрывающегося списка доступные версии, а затем щелкнуть Сохранить. После этого немедленно запустится обновление кластера.
В ходе обновления соблюдаются все политики работоспособности кластера (политики, определяющие состояние работоспособности для узлов и всех приложений, выполняющихся в кластере). Если требования политик работоспособности кластера не реализуются, выполняется откат обновления.
Устранив проблемы, которые привели к откату, запустите обновление снова, выполнив те же действия.
Шаблон Resource Manager
Чтобы изменить режим обновления кластера с помощью шаблона Resource Manager, укажите для свойства upgradeMode
в определении ресурса Microsoft.ServiceFabric/clusters значение Automatic (Автоматически) или Manual (Вручную). Если вы выбрали обновление вручную, также задайте для clusterCodeVersion
значение поддерживаемой в настоящее время версии Fabric.
После успешного развертывания шаблона будут применены изменения в режиме обновления кластера. Если кластер работает в ручном режиме, обновление кластера будет запущено автоматически.
В ходе обновления соблюдаются все политики работоспособности кластера (политики, определяющие состояние работоспособности для узлов и всех приложений, выполняющихся в кластере). Если требования политик работоспособности кластера не реализуются, выполняется откат обновления.
Устранив проблемы, которые привели к откату, запустите обновление снова, выполнив те же действия.
Развертывание автоматического обновления волнами
В режиме автоматического обновления вы можете включить кластер для развертывания волнами. С помощью развертывания волнами можно создать конвейер для параллельного обновления тестового, промежуточного и производственного кластеров с задержкой по времени, чтобы проверить будущие версии 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.
Вход в Azure
Login-AzAccount
Выбор подписки
Set-AzContext -SubscriptionId <your-subscription>
Вызов 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}