2015-11-21 2 views
9

После изменения целевой структуры с 4.5.1 до 4.6 службы в Auzure Fail выполняется локальное развертывание.Service Fabric .Net Framework 4.5.1 и 4.6

Нужно ли добавлять .Net 4.6 поддержку? - Я не могу найти, где я могу видеть рамки, доступные в моем кластере, в лазури.

Спасибо

ApplicationName: ткани: /Lending20.Service.IdentityManagement AggregatedHealthState
: UnhealthyEvaluations Ошибка: Нездоровые услуги: 100% (1/1), ServiceType = 'IdentityManagementServiceType', MaxPercentUnhealthyServices = 0%.

нездоровое обслуживание: ServiceName = 'ткань: /Lending20.Service.IdentityManagement/Identity ManagementService', AggregatedHealthState = 'Ошибка'.

Нездоровые перегородки: 100% (1/1), MaxPercentUnhealthyPartitionsPerService = 0%.

Нездоровый раздел: PartitionID = '7c68b397-fda3-491d-9e17-921cd24217ca', AggregatedHealthState = 'Ошибка'.

Ошибка: SourceId = 'System.FM', Property = 'State'.

ServiceHealthStates: ServiceName: ткани: /Lending20.Service.IdentityManagement/IdentityManagementService AggregatedHealthState: Ошибка

DeployedApplicationHealthStates: Имя_приложения: Ткань: /Lending20.Service.IdentityManagement NodeName: _lending1 AggregatedHealthState: Хорошо

HealthEvents: SourceId: System.CM собственности: Государственная HealthState: Ok SequenceNumber: 3464 SentAt: 11/21/2015 12:38:08 PM ReceivedAt: 11/21/2015 12:38:08 PM TTL: Infinite Описание: Заявка была создано. RemoveWhenExpired: Ложные IsExpired: Ложные Переходы: Предупреждение-> Ok = 11/21/2015 12:38:08 PM, LastError = 1/1/0001 12:00:00 AM

ответ

4

.NET 4.6 пока недоступно в стандартном изображении Windows Server 2012, используемом в Azure. На этом этапе ваш единственный вариант - войти в каждую виртуальную машину и установить ее.

0

другой вариант использует шаблон группы лазурных ресурсов, который включает расширение DSC, чтобы предоставить вашим виртуальным машинам установку .net 46. Вот фрагмент в моей dsc powershell, чтобы иметь дело с установкой.net 461 code или gist для более полного сценария

+1

Это на самом деле довольно сложно, так как .NET 4.6. 1 - это не отдельный продукт, а обновление Windows. Версия PowerShell по умолчанию в Windows Server 2012 R2 равна 4.0, а DSC в 4.0 не поддерживает обработку обновлений Windows. Итак, чтобы использовать DSC с обновлениями для Windows, сначала необходимо установить powershell 5.0, затем с помощью командлета Install-Module извлечь пользовательский ресурс DWWWUddate DSC, прежде чем применять обновление Windows 4.6.1. Довольно сложно по сравнению с расширением пользовательского сценария Powershell, поставляемым Eli. – mikanyg

16

Для установки .NET 4.6.1 вы можете использовать следующий шаблон ARM. Обратите внимание, что это зависит от этого script (используется Service Profiler). Вы также можете заменить его другим скриптом PowerShell.

Параметр - это базовое имя узла. Поэтому, если у вас VM0, .. VM5 в вашем кластере, вы должны установить vmName = 'VM'. Значение vmExtensionLoop равно 5 узлам; вы также можете это изменить.

Если вы используете шаблон ARM для развертывания своего кластера, вы можете включить его как часть этого. Обратите внимание, что это может замедлить развертывание набора шкал, поскольку для этого требуется перезагрузка.

{ 
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", 
    "contentVersion": "1.0.0.0", 
    "parameters": { 
    "vmName": { 
     "type": "string", 
     "metadata": { 
     "description": "Virtual machine name." 
     }, 
    } 
    }, 
    "resources": [ 
    { 
     "apiVersion": "2015-05-01-preview", 
     "type": "Microsoft.Compute/virtualMachines/extensions", 
     "name": "[concat(parameters('vmName'),copyIndex(0), '/CustomScriptExtensionInstallNet461')]", 
     "location": "[variables('location')]", 
     "tags": { 
     "displayName": "CustomScriptExtensionInstallNet461" 
     }, 
     "properties": { 
     "publisher": "Microsoft.Compute", 
     "type": "CustomScriptExtension", 
     "typeHandlerVersion": "1.4", 
     "autoUpgradeMinorVersion": true, 
     "settings": { 
      "fileUris": [ "https://gist.githubusercontent.com/aelij/7ea90dda4a187a482584/raw/a3e0f946d4a22b0af803edb503d0a30a263fba2c/InstallNetFx461.ps1" ], 
      "commandToExecute": "powershell.exe -ExecutionPolicy Unrestricted -File InstallNetFx461.ps1" 
     } 
     }, 
     "copy": { 
     "name": "vmExtensionLoop", 
     "count": 5 
     } 
    } 
    ] 
} 
0

До 4.6 поддерживается Azure изначально, я бы использовал пользовательский образ VM с установленной программой .NET 4.6. См. this article для получения подробной информации о том, как его создать и использовать.

3

Используйте изображение Windows Server 2016 для получения .net 4.6.1. предварительно установлен. vmImageSku: «2016-Datacenter» при определении кластера.

+0

Это хорошая альтернатива. – CodeAbundance

+0

На самом деле сейчас это 4.6.2. См. Также: https://blogs.msdn.microsoft.com/astebner/2007/03/14/mailbag-what-version-of-the-net-framework-is-included-in-what-version- of- -Операционные системы/. –

Смежные вопросы