我正在运行一个单节点Standalone Service Fabric开发集群。该节点安装在Hyper-V虚拟机上,并且两个网络适配器连接到外部主机网络。第一个VM网络适配器配置了静态IP地址,并用作群集端点。第二个VM网络适配器是通过DHCP配置的,并且具有与第一个网络适配器相同子网中的IP。
我看了主题“ Service Fabric容器联网模式”(https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-networking-modes)。我启用了DnsService,IPProviderEnabled和ContainerNetworkSetup。步骤2.我跳过了,因为它适用于Azure资源管理器配置。我已在应用程序清单中将网络类型配置为“打开”。该服务托管了一个Docker容器。
当我将应用程序发布到群集时,我在Microsoft-Service-Fabric \ Admin通道中看到“主机类别”警告事件。 这是其中一些消息的文本:
SFApplication1Type_App6:ebanking2016xg_ContainerPkg@257e8304-637b-4e58-bc13-388542cf6d6c@d526398e-e01e-43fd-b1d4-9cba19bd608c:131816448810648848: End BeginAssignIpAddress. Error FABRIC_E_INVALID_OPERATION
Failed to remove enpoint resource file=C:\ProgramData\SF\vm0\Fabric\work\Applications\SFApplication1Type_App6\ebanking2016xg_ContainerPkg.d526398e-e01e-43fd-b1d4-9cba19bd608c.Endpoints.txt. Error=0x80070002. NodeVersion=6.3.176.9494:0:0.
SFApplication1Type_App6:ebanking2016xg_ContainerPkg@257e8304-637b-4e58-bc13-388542cf6d6c@d526398e-e01e-43fd-b1d4-9cba19bd608c:131816448810648848: End(Setup->EndCleanupServicePackageEnvironment due to error FABRIC_E_INVALID_OPERATION): error 0x80070002
End(SetupPackageEnvironment): Id=SFApplication1Type_App6:ebanking2016xg_ContainerPkg@257e8304-637b-4e58-bc13-388542cf6d6c@d526398e-e01e-43fd-b1d4-9cba19bd608c, Version=1.0:1.0:131816452585647419, ErrorCode=FABRIC_E_INVALID_OPERATION
...
Activate: Activate:SFApplication1Type_App6:ebanking2016xg_ContainerPkg@257e8304-637b-4e58-bc13-388542cf6d6c@d526398e-e01e-43fd-b1d4-9cba19bd608c:1.0:1.0:131816452585647419, ErrorCode=FABRIC_E_INVALID_OPERATION, RetryCount=0
这组警告消息继续以10秒的间隔出现。并且该应用程序在节点上保持激活状态。
当我未将网络类型设置为“打开”时,应用程序会使用nat模式成功激活。
因此出现了两个问题: