Я пытался обернуться вокруг создания ILB для облачной службы, содержащей веб-роль и рабочую роль (по крайней мере, с двумя экземплярами каждой), и я застрял. Это мой сценарий.
Дело в том, что я не хочу использовать powershell, потому что он не подходит для моего случая, и исследование рабочего примера файла Service Definition и ServiceConfiguration для облачного проекта ни к чему не привело.
Итак, согласно нескольким источникам, которые в основном утверждают одно и то же (официальная документация, другие ссылки добавлю в комментариях, раз уж добрался до шапки) В итоге я получил следующие файлы конфигурации:
ServiceDefinition.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>
ServiceConfiguration.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)
Теперь, когда я пытаюсь запустить решение локально, эмулятор azure останавливается со следующей ошибкой: «.cscfg и .csdef не совпадают». Также не удается выполнить развертывание в Azure.
Кто-нибудь может мне помочь и сказать, что я делаю не так, пожалуйста?