Service Fabric容器API未在端点上加载

时间:2018-09-01 11:00:47

标签: containers azure-service-fabric

  1. 在VS2017中创建新的Web应用程序
  2. 右键单击Web应用程序->“添加”->“容器编排支持”->“服务结构”
  3. 在本地运行(F5)(成功),并在http://machinename:<port in manifest>上加载
  4. 发布到Azure SF群集+容器注册表
  5. 此网址应加载http://<azurecluster>:<port in manifest>

但是它没有加载。 群集中唯一加载的是Service Fabric资源管理器,该应用程序显示应用程序正在正常运行。 我做错什么了吗?

我认为这与端口错误有关。 当通过模板自己添加一个容器时(如下图所示),这些选项是:

  1. 主机端口和容器端口。这些是否正确映射到 容器编排支持(上面的步骤2)?
  2. 在“主机端口帮助”图标中,该端口可能需要在上打开 负载均衡器。我在上述步骤中需要做这些事情吗?
  3. 此外,仅提供了集装箱港口 步骤2中的配置(applicationManifest.xml)。那么主机端口呢?
  4. 容器端口如何映射到应用程序端口?
  5. 为什么我们不必在本地进行操作(如果这是问题所在)?

Select a Template

1 个答案:

答案 0 :(得分:0)

该服务在清单中指定容器端口:

<Resources>
  <Endpoints>
    <Endpoint Name="Guest1TypeEndpoint" UriScheme="http" Port="8081" Protocol="http"/>
  </Endpoints>
</Resources>

应用程序在清单中指定主机端口:

<Policies>
    <ContainerHostPolicies CodePackageRef="Code">
        <PortBinding ContainerPort="80" EndpointRef="Guest1TypeEndpoint"/>
    </ContainerHostPolicies>
</Policies>

在此示例中,容器端口8081映射到主机端口80。 更多信息here

您还需要配置Azure Load Balancer规则和探测,以将流量(在端口80上)转发到群集。

之后,您应该会看到它正常工作。