【问题标题】:Service Fabric Container API not loading on endpointService Fabric Container API 未在端点上加载
【发布时间】:2019-02-07 04:40:18
【问题描述】:
  1. 在 VS2017 中创建一个新的 Web 应用程序
  2. 右键单击Web应用程序->添加->容器编排支持->Service Fabric
  3. 在本地运行 (F5)(成功),在 http://machinename:<port in manifest> 上加载
  4. 发布到 Azure SF 集群 + 容器注册表
  5. 此 URL 应加载 http://<azurecluster>:<port in manifest>

但它没有加载。 群集中加载的唯一内容是 Service Fabric Explorer,它显示应用程序运行无误。 我做错什么了吗?

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

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

【问题讨论】:

    标签: containers azure-service-fabric


    【解决方案1】:

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

    <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 上)转发到集群。

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

    【讨论】:

    • @loakD 所以最终的 url 将是 http://:80 或 http://:8081 ?
    • 在本例中为 80(主机端口)。
    猜你喜欢
    • 2021-05-06
    • 2018-02-16
    • 2017-03-26
    • 2020-04-22
    • 2017-09-10
    • 2017-06-23
    • 2018-04-05
    • 2017-05-02
    • 1970-01-01
    相关资源
    最近更新 更多