ServiceFabric: не удалось развернуть новые приложения - PullRequest
0 голосов
/ 25 января 2019

Я использую сервисную фабрику заранее с моими микро сервисами, и я принял стратегию использования динамических портов, но, очевидно, я думаю, что я сузил диапазон портов, потому что я достиг предела 25 приложений с примерно 340микросервисы в стелесе.и при попытке загрузить новое приложение это ошибка почти во всех сервисах.например, если вы удалите старую версию, приложение, которое выдало ошибку, будет работать и оставаться стабильным.Я уже увеличил диапазон портов в clustermanifest параметром: ApplicationEndpoints, но не оказал влияния ...

Ответы [ 2 ]

0 голосов
/ 28 января 2019

Config nodeType

<ClusterManifest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Name="PmenosProducao" Version="0" Description="This is a generated file. Do not modify." xmlns="http://schemas.microsoft.com/2011/01/fabric">
  <NodeTypes>
    <NodeType Name="NodeType0">
      <Endpoints>
        <ClientConnectionEndpoint Port="19000" />
        <LeaseDriverEndpoint Port="19002" />
        <ClusterConnectionEndpoint Port="19001" />
        <HttpGatewayEndpoint Port="19080" Protocol="http" />
        <HttpApplicationGatewayEndpoint Port="19081" Protocol="http" />
        <ServiceConnectionEndpoint Port="19003" />
        <ApplicationEndpoints StartPort="20001" EndPort="45031" />
      </Endpoints>
      <PlacementProperties>
        <Property Name="NodeTypeName" Value="NodeType0" />
      </PlacementProperties>
    </NodeType>
  </NodeTypes>
  <Infrastructure>
    <WindowsServer>
      <NodeList>
        <Node NodeName="name" IPAddressOrFQDN="0.0.0.0" IsSeedNode="true" NodeTypeRef="NodeType0" FaultDomain="fd:/dc2/r0" UpgradeDomain="UD1" />
        <Node NodeName="name" IPAddressOrFQDN="0.0.0.0" IsSeedNode="true" NodeTypeRef="NodeType0" FaultDomain="fd:/dc3/r0" UpgradeDomain="UD2" />
        <Node NodeName="name" IPAddressOrFQDN="0.0.0.0" IsSeedNode="true" NodeTypeRef="NodeType0" FaultDomain="fd:/dc1/r0" UpgradeDomain="UD0" />
      </NodeList>
    </WindowsServer>
  </Infrastructure>
  <FabricSettings>
    <Section Name="ApplicationGateway/Http">
      <Parameter Name="DefaultHttpRequestTimeout" Value="600" />
      <Parameter Name="IsEnabled" Value="true" />
    </Section>
    <Section Name="ClusterManager">
      <Parameter Name="EnableAutomaticBaseline" Value="True" />
      <Parameter Name="MinReplicaSetSize" Value="3" />
      <Parameter Name="PlacementConstraints" Value="NodeTypeName==NodeType0" />
      <Parameter Name="TargetReplicaSetSize" Value="3" />
    </Section>
    <Section Name="Common">
      <Parameter Name="EnableEndpointV2" Value="True" />
    </Section>
    <Section Name="Diagnostics">
      <Parameter Name="ClusterId" Value="bb99d580-50cc-4e1c-8a45-09f02f091f73" />
      <Parameter Name="ConsumerInstances" Value="FileShareWinFabEtw, FileShareWinFabCrashDump, FileShareWinFabPerfCtr" />
      <Parameter Name="EnableTelemetry" Value="False" />
      <Parameter Name="MaxDiskQuotaInMB" Value="5120" />
      <Parameter Name="ProducerInstances" Value="WinFabEtlFile, WinFabCrashDump, WinFabPerfCtrFolder" />
    </Section>
    <Section Name="FailoverManager">
      <Parameter Name="ExpectedClusterSize" Value="3" />
      <Parameter Name="IsSingletonReplicaMoveAllowedDuringUpgrade" Value="True" />
      <Parameter Name="MinReplicaSetSize" Value="3" />
      <Parameter Name="PlacementConstraints" Value="NodeTypeName==NodeType0" />
      <Parameter Name="TargetReplicaSetSize" Value="3" />
    </Section>
    <Section Name="FaultAnalysisService">
      <Parameter Name="MinReplicaSetSize" Value="3" />
      <Parameter Name="PlacementConstraints" Value="NodeTypeName==NodeType0" />
      <Parameter Name="TargetReplicaSetSize" Value="3" />
    </Section>
    <Section Name="Federation">
      <Parameter Name="NodeIdGeneratorVersion" Value="V4" />
    </Section>
    <Section Name="FileShareWinFabCrashDump">
      <Parameter Name="ConsumerType" Value="FileShareFolderUploader" />
      <Parameter Name="DataDeletionAgeInDays" Value="7" />
      <Parameter Name="IsEnabled" Value="true" />
      <Parameter Name="ProducerInstance" Value="WinFabCrashDump" />
      <Parameter Name="StoreConnectionString" Value="c:\ProgramData\SF\DiagnosticsStore\fabricdumps-bb99d580-50cc-4e1c-8a45-09f02f091f73" />
    </Section>
    <Section Name="FileShareWinFabEtw">
      <Parameter Name="ConsumerType" Value="FileShareEtwCsvUploader" />
      <Parameter Name="DataDeletionAgeInDays" Value="7" />
      <Parameter Name="IsEnabled" Value="true" />
      <Parameter Name="ProducerInstance" Value="WinFabEtlFile" />
      <Parameter Name="StoreConnectionString" Value="c:\ProgramData\SF\DiagnosticsStore\fabriclogs-bb99d580-50cc-4e1c-8a45-09f02f091f73" />
    </Section>
    <Section Name="FileShareWinFabPerfCtr">
      <Parameter Name="ConsumerType" Value="FileShareFolderUploader" />
      <Parameter Name="DataDeletionAgeInDays" Value="7" />
      <Parameter Name="IsEnabled" Value="true" />
      <Parameter Name="ProducerInstance" Value="WinFabPerfCtrFolder" />
      <Parameter Name="StoreConnectionString" Value="c:\ProgramData\SF\DiagnosticsStore\fabricperf-bb99d580-50cc-4e1c-8a45-09f02f091f73" />
    </Section>
    <Section Name="FileStoreService">
      <Parameter Name="AnonymousAccessEnabled" Value="false" />
      <Parameter Name="PrimaryAccountNTLMPasswordSecret" Value="8d9a2358-d8b7-4e55-8979-fbc3cde08551" />
      <Parameter Name="PrimaryAccountType" Value="LocalUser" />
      <Parameter Name="SecondaryAccountNTLMPasswordSecret" Value="bcac0708-43f8-4c86-875c-a26a939bdaa0" />
      <Parameter Name="SecondaryAccountType" Value="LocalUser" />
    </Section>
    <Section Name="Hosting">
      <Parameter Name="EndpointProviderEnabled" Value="true" />
      <Parameter Name="FirewallPolicyEnabled" Value="true" />
      <Parameter Name="RunAsPolicyEnabled" Value="true" />
    </Section>
    <Section Name="HttpGateway">
      <Parameter Name="IsEnabled" Value="true" />
    </Section>
    <Section Name="ImageStoreService">
      <Parameter Name="MinReplicaSetSize" Value="3" />
      <Parameter Name="PlacementConstraints" Value="NodeTypeName==NodeType0" />
      <Parameter Name="TargetReplicaSetSize" Value="3" />
    </Section>
    <Section Name="Management">
      <Parameter Name="ImageStoreConnectionString" Value="fabric:ImageStore" />
    </Section>
    <Section Name="NamingService">
      <Parameter Name="MinReplicaSetSize" Value="3" />
      <Parameter Name="PlacementConstraints" Value="NodeTypeName==NodeType0" />
      <Parameter Name="TargetReplicaSetSize" Value="3" />
    </Section>
    <Section Name="PlacementAndLoadBalancing">
      <Parameter Name="QuorumBasedReplicaDistributionPerFaultDomains" Value="true" />
      <Parameter Name="QuorumBasedReplicaDistributionPerUpgradeDomains" Value="true" />
    </Section>
    <Section Name="ReconfigurationAgent">
      <Parameter Name="IsDeactivationInfoEnabled" Value="true" />
    </Section>
    <Section Name="Security">
      <Parameter Name="AllowDefaultClient" Value="False" />
      <Parameter Name="ClientRoleEnabled" Value="true" />
      <Parameter Name="ClusterCredentialType" Value="None" />
      <Parameter Name="DisableFirewallRuleForDomainProfile" Value="false" />
      <Parameter Name="DisableFirewallRuleForPrivateProfile" Value="false" />
      <Parameter Name="DisableFirewallRuleForPublicProfile" Value="false" />
      <Parameter Name="ServerAuthCredentialType" Value="None" />
    </Section>
    <Section Name="Setup">
      <Parameter Name="FabricDataRoot" Value="C:\ProgramData\SF" />
      <Parameter Name="FabricLogRoot" Value="C:\ProgramData\SF\Log" />
    </Section>
    <Section Name="Trace/Etw">
      <Parameter Name="Level" Value="4" />
    </Section>
    <Section Name="UpgradeOrchestrationService">
      <Parameter Name="AutoupgradeEnabled" Value="False" />
      <Parameter Name="AutoupgradeInstallEnabled" Value="False" />
      <Parameter Name="ClusterId" Value="bb99d580-50cc-4e1c-8a45-09f02f091f73" />
      <Parameter Name="GoalStateExpirationReminderInDays" Value="30" />
      <Parameter Name="MinReplicaSetSize" Value="3" />
      <Parameter Name="PlacementConstraints" Value="NodeTypeName==NodeType0" />
      <Parameter Name="TargetReplicaSetSize" Value="3" />
    </Section>
    <Section Name="WinFabCrashDump">
      <Parameter Name="DataDeletionAgeInDays" Value="7" />
      <Parameter Name="FolderType" Value="WindowsFabricCrashDumps" />
      <Parameter Name="IsEnabled" Value="true" />
      <Parameter Name="ProducerType" Value="FolderProducer" />
    </Section>
    <Section Name="WinFabEtlFile">
      <Parameter Name="DataDeletionAgeInDays" Value="7" />
      <Parameter Name="IsEnabled" Value="true" />
      <Parameter Name="ProducerType" Value="EtlFileProducer" />
    </Section>
    <Section Name="WinFabPerfCtrFolder">
      <Parameter Name="DataDeletionAgeInDays" Value="7" />
      <Parameter Name="FolderType" Value="WindowsFabricPerformanceCounters" />
      <Parameter Name="IsEnabled" Value="true" />
      <Parameter Name="ProducerType" Value="FolderProducer" />
    </Section>
  </FabricSettings>
</ClusterManifest>
0 голосов
/ 28 января 2019

Я не уверен на 100%, есть ли у вас проблема с доступными портами, но если это так - вы можете проверить этот раздел документации ?

ОТ ДОКУМЕНТОВ:

  • ephemeralPorts переопределяет динамические порты, используемые ОС. Service Fabric использует часть этих портов в качестве портов приложений, а остальные доступны для ОС. Он также сопоставляет этот диапазон с существующим диапазоном, представленным в ОС, поэтому для всех целей вы можете использовать диапазоны, указанные в примерах файлов JSON. Убедитесь, что разница между начальным и конечным портами составляет не менее 255. Вы можете столкнуться с конфликтами, если эта разница слишком мала, поскольку этот диапазон используется совместно с ОС. Чтобы увидеть настроенный диапазон динамических портов, выполните команду netsh int ipv4 show dynamicport tcp.

  • applicationPorts - это порты, используемые приложениями Service Fabric. Диапазон портов приложения должен быть достаточно большим, чтобы удовлетворить требования конечных точек ваших приложений. Этот диапазон должен быть исключительным из динамического диапазона портов на машине, то есть диапазона ephemeralPorts, установленного в конфигурации. Service Fabric использует эти порты всякий раз, когда требуются новые порты, и заботится об открытии брандмауэра для этих портов.

Эти параметры настраиваются для каждого nodeType в конфигурации кластера.


В ClusterManifest.xml (на основе ClusterManifestType XML-схемы) эти настройки представлены элементами ApplicationEndpoints и EphemeralEndpoints в элементе NodeType.

...