我一直在尝试为包含 Web 角色和 Worker 角色(每个角色至少有 2 个实例)的云服务创建 ILB,但我被困住了。 这就是我所处的场景。
问题是我不想使用 powershell,因为它不适合我的情况,并且对云项目的服务定义和 ServiceConfiguration 文件的工作示例的研究让我无处可去。
因此,根据几个基本上陈述相同内容的消息来源(官方文档,我将在评论中添加其他链接,因为我已经达到上限)我最终得到了以下配置文件:
服务定义.csdef
<ServiceDefinition name="Test" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2015-04.2.6">
<WebRole name="Web" vmsize="small">...</WebRole>
<WorkerRole name="Worker" vmsize="small">
...
<Endpoints>
<InputEndpoint name="lbEndpoint1" protocol="tcp" localPort="31010" port="31010" loadBalancer="TestILB" />
</Endpoints>
</WorkerRole>
</ServiceDefinition>
服务配置.Cloud.cscfg
<ServiceConfiguration serviceName="Test" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="4" osVersion="*" schemaVersion="2015-04.2.6">
<Role name="Web">...</Role>
<Role name="Worker">...</Role>
<NetworkConfiguration>
<LoadBalancers>
<LoadBalancer name="TestILB">
<FrontendIPConfiguration type="private" subnet="Test-ILB-Subnet-Backend" staticVirtualNetworkIPAddress="10.0.0.1" />
</LoadBalancer>
</LoadBalancers>
</NetworkConfiguration>
</ServiceConfiguration>
(已在 Azure 中预配虚拟网络和子网)
现在,当我尝试在本地运行解决方案时,天蓝色模拟器停止并出现以下错误:“.cscfg 和 .csdef 不匹配”。部署到 Azure 也会失败。
谁能帮助我并告诉我我做错了什么?