Service Fabric Container API未在端点上加载

问题描述 投票:1回答:1
  1. 在VS2017中创建一个新的Web应用程序
  2. 右键单击Web应用程序 - >添加 - > Container Orchestration支持 - > Service Fabric
  3. 在本地运行(F5)(成功),加载http://machinename:<port in manifest>
  4. 发布到Azure SF群集+容器注册表
  5. 此URL应加载http://<azurecluster>:<port in manifest>

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

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

  1. 主机端口和容器端口。这些是否在Container Orchestration支持中正确映射(上面的步骤#2)?
  2. 在主机端口帮助图标中,它表示可能需要在负载均衡器上打开端口。我是否需要在上面的步骤中做这些事情?
  3. 此外,在步骤#2中的config(applicationManifest.xml)中仅提供容器端口。那么主机端口怎么样?
  4. 容器端口如何映射到应用程序端口?
  5. 为什么我们不必在本地做(如果这是问题)?

Select a Template

containers azure-service-fabric
1个回答
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上)转发到群集中。

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

© www.soinside.com 2019 - 2024. All rights reserved.