本地5节点Service Fabric群集上的“由于名称重复而无法在网络上创建端点[XXX]”

时间:2019-01-14 10:57:53

标签: azure-service-fabric

我有一个由5个节点组成的本地Service Fabric群集,并且在所有节点上部署应用程序时遇到问题。设置为“ 1节点”时,群集可以正常工作。设置为“ 5个节点”时,除一个节点外,其他所有节点均出错。这是错误/警告消息:

  

错误事件:SourceId ='System.Hosting',Property ='CodePackageActivation:Code:EntryPoint:131919316927686034'。   激活CodePackage时发生错误.System.Fabric.FabricException(-2147017731)   无法启动容器。 ContainerName = sf-0-28e0002f-fd7d-412c-81b8-b78ca5339ce4_865991cc-9c36-493f-9b3d-95f6eba43851,ApplicationId = Proton.SFType_App0,ApplicationName = fabric:/Proton.SF。   DockerRequest返回了StatusCode = InternalServerError并带有ResponseBody = {“ message”:“”未能在网络nat上创建端点sf-0-28e0002f-fd7d-412c-81b8-b78ca5339ce4_865991cc-9c36-493f-9b3d-95f6eba43851:HNS失败,出现错误:您是未连接,因为名称重复

该错误消息看起来已被截断。应用程序可以很好地加载,但只能在一个节点上加载。我在5节点配置中缺少什么吗?我们正在部署的应用程序是一个运行.NET Core应用程序的容器。我已经在Service Fabric资源管理器中附上了错误的屏幕截图。

Error Screenshot

ServiceManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<ServiceManifest Name="Proton.TestingPkg"
                 Version="1.0.0"
                 xmlns="http://schemas.microsoft.com/2011/01/fabric"
                 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ServiceTypes>
    <!-- This is the name of your ServiceType.
         The UseImplicitHost attribute indicates this is a guest service. -->
    <StatelessServiceType ServiceTypeName="Proton.TestingType" UseImplicitHost="true" />
  </ServiceTypes>

  <!-- Code package is your service executable. -->
  <CodePackage Name="Code" Version="1.0.0">
    <EntryPoint>
      <!-- Follow this link for more information about deploying Windows containers to Service Fabric: https://aka.ms/sfguestcontainers -->
      <ContainerHost>
        <ImageName>proton.azurecr.io/protontesting:latest</ImageName>
      </ContainerHost>
    </EntryPoint>
    <!-- Pass environment variables to your container: -->
    <!--
    <EnvironmentVariables>
      <EnvironmentVariable Name="VariableName" Value="VariableValue"/>
    </EnvironmentVariables>
    -->
  </CodePackage>

  <!-- Config package is the contents of the Config directoy under PackageRoot that contains an 
       independently-updateable and versioned set of custom configuration settings for your service. -->
  <ConfigPackage Name="Config" Version="1.0.0" />

  <Resources>
    <Endpoints>
      <!-- This endpoint is used by the communication listener to obtain the port on which to 
           listen. Please note that if your service is partitioned, this port is shared with 
           replicas of different partitions that are placed in your code. -->
      <Endpoint Name="Proton.TestingTypeEndpoint" Port="8001" />
    </Endpoints>
  </Resources>
</ServiceManifest>

ApplicationManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<ApplicationManifest ApplicationTypeName="Proton.SFType"
                     ApplicationTypeVersion="1.0.0"
                     xmlns="http://schemas.microsoft.com/2011/01/fabric"
                     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Parameters>
    <Parameter Name="Proton.Testing_InstanceCount" DefaultValue="-1" />
  </Parameters>
  <!-- Import the ServiceManifest from the ServicePackage. The ServiceManifestName and ServiceManifestVersion 
       should match the Name and Version attributes of the ServiceManifest element defined in the 
       ServiceManifest.xml file. -->
  <ServiceManifestImport>
    <ServiceManifestRef ServiceManifestName="Proton.TestingPkg" ServiceManifestVersion="1.0.0" />
    <ConfigOverrides />
    <Policies>
      <ContainerHostPolicies CodePackageRef="Code">
        <!-- See https://aka.ms/I7z0p9 for how to encrypt your repository password -->
        <RepositoryCredentials AccountName="ProtonCluster" Password="XXX" PasswordEncrypted="false" />
        <PortBinding ContainerPort="80" EndpointRef="Proton.TestingTypeEndpoint" />
      </ContainerHostPolicies>
    </Policies>
  </ServiceManifestImport>
  <DefaultServices>
    <!-- The section below creates instances of service types, when an instance of this 
         application type is created. You can also create one or more instances of service type using the 
         ServiceFabric PowerShell module.
         
         The attribute ServiceTypeName below must match the name defined in the imported ServiceManifest.xml file. -->
    <Service Name="Proton.Testing" ServicePackageActivationMode="ExclusiveProcess">
      <StatelessService ServiceTypeName="Proton.TestingType" InstanceCount="[Proton.Testing_InstanceCount]">
        <SingletonPartition />
      </StatelessService>
    </Service>
  </DefaultServices>
</ApplicationManifest>

0 个答案:

没有答案