angle-left

Microsoft Service Fabric EndApplicationPortRange

Проблема

При развёртывании приложения

Unhealthy deployed service package: ApplicationName='fabric:/MyApp.App', ServiceManifestName='MyApp.EmailSenderPkg', ServicePackageActivationId='', NodeName='node-01', AggregatedHealthState='Error'.
2019-02-21T04:00:32.0695072Z        Error event: SourceId='System.Hosting', Property='Activation:1.0:1.4:131902850503825572'.
2019-02-21T04:00:32.0695072Z        There was an error during activation.EndpointProviderPortRangeExhausted

В журнале событий Windows

Log Name:      Microsoft-ServiceFabric/Admin
Source:        Microsoft-ServiceFabric
Date:          2/21/2019 7:17:20 AM
Event ID:      257
Task Category: Common
Level:         Warning
Keywords:      Default
User:          NETWORK SERVICE
Computer:      node-01.domain.prod
Description:
Configuration can not be updated dynamically for FabricNode/EndApplicationPortRange
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-ServiceFabric" Guid="{CBD93BC2-71E5-4566-B3A7-595D8EECA6E8}" />
    <EventID>257</EventID>
    <Version>2</Version>
    <Level>3</Level>
    <Task>1</Task>
    <Opcode>0</Opcode>
    <Keywords>0x8000000000000001</Keywords>
    <TimeCreated SystemTime="2019-02-21T07:17:20.749114300Z" />
    <EventRecordID>89714</EventRecordID>
    <Correlation />
    <Execution ProcessID="11912" ThreadID="13472" />
    <Channel>Microsoft-ServiceFabric/Admin</Channel>
    <Computer>node-01.domain.prod</Computer>
    <Security UserID="S-1-5-20" />
  </System>
  <EventData>
    <Data Name="id">1b9c1d90d10</Data>
    <Data Name="type">ConfigStore</Data>
    <Data Name="text">Configuration can not be updated dynamically for FabricNode/EndApplicationPortRange</Data>
  </EventData>
</Event>

Причина

Окончание свободных выделенных портов в конфигурации кластера Service Fabric

Решение

Увеличение интервала портов увеличением значения параметра EndPort в ApplicationEndpoints в файле конфигурации кластера ClusterConfig.json

ApplicationEndpoints StartPort="20001" EndPort="20231"


 значение по умолчанию EndPort="20031"

Выполнить обновление конфигурации Service Faвric.

Обновление конфигурации Service Faвric следует выполнять в соответствии с последовательностью действий описанных моим коллегой в статье Обновление конфигурации кластера Service Fabric в Unhealthy состоянии