Изменение версии Service Fabric в кластере

Для любой современной системы возможность обновления является ключом к успеху вашего продукта в долгосрочной перспективе. Кластер Azure Service Fabric — это ресурс, владельцем которого вы являетесь. В этой статье описано, как обновить версию Service Fabric в автономном или частном кластере.

Примечание

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

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

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

Включение автоматического обновления версии Service Fabric для кластера

Чтобы настроить кластер для скачивания обновлений Service Fabric после того, как корпорация Майкрософт выпускает новую версию, присвойте параметру кластера fabricClusterAutoupgradeEnabled значение true. Чтобы выбрать поддерживаемую версию Service Fabric для кластера вручную, присвойте параметру кластера fabricClusterAutoupgradeEnabled значение false.

Обновление кластеров с возможностью подключения для скачивания последней версии кода и конфигурации

Выполните приведенные ниже действия, чтобы обновить до поддерживаемой версии кластер с возможностью интернет-подключения к Центру загрузки Майкрософт.

Для кластеров с возможностью подключения к Центру загрузки Майкрософт корпорация Майкрософт рекомендует периодически проверять наличие новых версий Service Fabric.

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

"Поддержка текущей версии кластера [номер версии] заканчивается [дата]".

После запуска последней версии кластера это предупреждение исчезнет.

Когда вы увидите предупреждение о работоспособности кластера, обновите этот кластер:

  1. Подключитесь к кластеру с любой виртуальной машины, на которой есть доступ администратора ко всем ВМ, перечисленным в качестве узлов в файле конфигурации кластера. Компьютер, на котором выполняется этот скрипт, может и не входить в кластер.

    ###### connect to the secure cluster using certs
    $ClusterName= "mysecurecluster.something.com:19000"
    $CertThumbprint= "70EF5E22ADB649799DA3C8B6A6BF7FG2D630F8F3"
    Connect-serviceFabricCluster -ConnectionEndpoint $ClusterName -KeepAliveIntervalInSec 10 `
        -X509Credential `
        -ServerCertThumbprint $CertThumbprint  `
        -FindType FindByThumbprint `
        -FindValue $CertThumbprint `
        -StoreLocation CurrentUser `
        -StoreName My
    
  2. Получите список версий Service Fabric, до которых можно выполнить обновление.

    ###### Get the list of available Service Fabric versions
    Get-ServiceFabricRegisteredClusterCodeVersion
    

    Должен отобразиться результат следующего вида.

    Получение версий Service Fabric

  3. Запустите обновление кластера до доступной версии с помощью команды Windows PowerShell Start-ServiceFabricClusterUpgrade.

    Start-ServiceFabricClusterUpgrade -Code -CodePackageVersion <codeversion#> -Monitored -FailureAction Rollback
    
    ###### Here is a filled-out example
    
    Start-ServiceFabricClusterUpgrade -Code -CodePackageVersion 5.3.301.9590 -Monitored -FailureAction Rollback
    

    За ходом обновления можно следить в Service Fabric Explorer. Также можно выполнить следующую команду PowerShell:

    Get-ServiceFabricClusterUpgrade
    

    Если требования политик работоспособности кластера не соблюдаются, выполняется откат обновления. О том, как указать пользовательские политики работоспособности для команды Start-ServiceFabricClusterUpgrade, можно узнать из соответствующей документации.

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

Обновление кластеров без возможности подключения для скачивания последней версии кода и конфигурации

Выполните следующие действия, чтобы обновить до поддерживаемой версии кластер без возможности интернет-подключения к Центру загрузки Майкрософт.

Примечание

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

Автоматическая подготовка и подготовка вручную

Чтобы включить автоматические операции скачивания и регистрации для получения последней версии кода, настройте службу обновления Service Fabric. Инструкции см. в файле Tools\ServiceFabricUpdateService.zip\Readme_InstructionsAndHowTos.txt в изолированном пакете.

Для выполнения операций вручную сделайте следующее.

Прежде чем начать обновление конфигурации, измените конфигурацию кластера, присвоив следующему свойству значение false:

"fabricClusterAutoupgradeEnabled": false,

См. дополнительные сведения об использовании команды PowerShell Start-ServiceFabricClusterConfigurationUpgrade. Обязательно обновите параметр clusterConfigurationVersion в JSON, прежде чем запускать обновление конфигурации.

    Start-ServiceFabricClusterConfigurationUpgrade -ClusterConfigPath <Path to Configuration File>

Рабочий процесс обновления кластера

  1. Выполните командлет Get-ServiceFabricClusterUpgrade на одном из узлов в кластере и запишите значение TargetCodeVersion.

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

    ###### Get list of all upgrade compatible packages  
    Get-ServiceFabricRuntimeUpgradeVersion -BaseVersion <TargetCodeVersion as noted in Step 1> 
    
  3. Подключитесь к кластеру с любой виртуальной машины, на которой есть доступ администратора ко всем ВМ, перечисленным в качестве узлов в файле конфигурации кластера. Компьютер, на котором выполняется этот скрипт, может и не входить в кластер.

    ###### Get the list of available Service Fabric versions
    Copy-ServiceFabricClusterPackage -Code -CodePackagePath <name of the .cab file including the path to it> -ImageStoreConnectionString "fabric:ImageStore"
    
    ###### Here is a filled-out example
    Copy-ServiceFabricClusterPackage -Code -CodePackagePath .\MicrosoftAzureServiceFabric.5.3.301.9590.cab -ImageStoreConnectionString "fabric:ImageStore"
    
  4. Скопируйте скачанный пакет в хранилище образов кластера.

  5. Зарегистрируйте скопированный пакет.

    ###### Get the list of available Service Fabric versions
    Register-ServiceFabricClusterPackage -Code -CodePackagePath <name of the .cab file>
    
    ###### Here is a filled-out example
    Register-ServiceFabricClusterPackage -Code -CodePackagePath MicrosoftAzureServiceFabric.5.3.301.9590.cab
    
  6. Запустите обновление кластера до доступной версии.

    Start-ServiceFabricClusterUpgrade -Code -CodePackageVersion <codeversion#> -Monitored -FailureAction Rollback
    
    ###### Here is a filled-out example
    Start-ServiceFabricClusterUpgrade -Code -CodePackageVersion 5.3.301.9590 -Monitored -FailureAction Rollback
    

    За ходом обновления можно следить в Service Fabric Explorer. Можно также выполнить следующую команду PowerShell:

    Get-ServiceFabricClusterUpgrade
    

    Если требования политик работоспособности кластера не соблюдаются, выполняется откат обновления. О том, как указать пользовательские политики работоспособности для команды Start-ServiceFabricClusterUpgrade, можно узнать из соответствующей документации.

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

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