Updated 11. Setting the solution up in Service Fabric (markdown)

Eduard Tomàs 2019-01-10 10:37:59 +01:00
parent 3ded0bfccb
commit 6631bdc51f

@ -3,24 +3,16 @@ Service Fabric supports both, Linux and Windows Containers, so this guidance is
## Deploying eShopOncontainers as Windows Containers to Azure Service Fabric ## Deploying eShopOncontainers as Windows Containers to Azure Service Fabric
>**Note**: This deployment procedure use the public eShopOnContainers images published in [DockerHub](https://cloud.docker.com/u/eshop/)
### Creating a secured Azure Service Fabric cluster based on Windows nodes/VMs ### Creating a secured Azure Service Fabric cluster based on Windows nodes/VMs
In order to deploy eShopOnContainers as Windows Containers an Azure SF environment must be first set. There is available an ARM template to do that job in the following link [SF Win ARM deployment](https://github.com/dotnet-architecture/eShopOnContainers/tree/dev/deploy/az/servicefabric/WindowsContainers). Follow the steps in [create SF](https://github.com/dotnet-architecture/eShopOnContainers/blob/dev/deploy/az/servicefabric/WindowsContainers/readme.md). In order to deploy eShopOnContainers as Windows Containers an Azure SF environment must be first set. There is available an ARM template to do that job in the following link [SF Win ARM deployment](https://github.com/dotnet-architecture/eShopOnContainers/tree/dev/deploy/az/servicefabric/WindowsContainers). Follow the steps in [create SF](https://github.com/dotnet-architecture/eShopOnContainers/blob/dev/deploy/az/servicefabric/WindowsContainers/readme.md).
The ARM script will generate all the necessary Azure resources to publish eShopOnContainers as windows containers. The ARM script will generate all the necessary Azure resources to publish eShopOnContainers as windows containers.
Once the SF resources have been successfully created, the next step is to publish the SF projects. These projects are under the directory [SF Directory](https://github.com/dotnet-architecture/eShopOnContainers/tree/dev/ServiceFabric/Windows) and contains all the xml config files needed to configure and publish eShopOnContainers. It is composed by the following SF projects: Once the SF resources have been successfully created, the next step is to publish the SF projects. These projects are under the directory [SF Directory](https://github.com/dotnet-architecture/eShopOnContainers/tree/dev/ServiceFabric/Windows) and contains all the xml config files needed to configure and publish eShopOnContainers. The solution file is `sfwin.sln`:
<img src="https://github.com/dotnet-architecture/eShopOnContainers/blob/dev/img/sf/sf-directory.PNG"> <img src="https://github.com/dotnet-architecture/eShopOnContainers/blob/dev/img/sf/sf-directory.PNG">
- eShopOnServiceFabric: contains all the api services consumed by eShop.
- eShopOnServiceFabricIdSrv: contains the Identity server for authentication.
- eShopOnServiceFabricWebMVC: contains the MVC web app.
- eShopOnServiceFabricWebSPA: containes the SPA web app.
- eShopOnServiceFabricWebStatus: contains the web app for service health checking.
- eShopOnServiceFabricBus: contains a bus service (Rabbitmq).
- eShopOnServiceFabricNoSql: contains a no sql service (MongoDB).
- eShopOnServiceFabricRedis: contains a cache service (Redis).
- eShopOnServiceFabricSql: contains a sql service (Mssql).
Before deploying, replace **ALL** the external urls in the cloud.xml config file of each SF app which reference the SF dns name with the dns name of your SF. Therefore, replace the token **#{your_sf_dns}#** with your cluster DNS name. Before deploying, replace **ALL** the external urls in the cloud.xml config file of each SF app which reference the SF dns name with the dns name of your SF. Therefore, replace the token **#{your_sf_dns}#** with your cluster DNS name.
Image tags in the servicemanifest.xml files need to be changed as well by replacing the token **#{tag}#** with an existing tag (Ex: eshop/ordering.api:**latest**). Image tags in the servicemanifest.xml files need to be changed as well by replacing the token **#{tag}#** with an existing tag (Ex: eshop/ordering.api:**latest**).
@ -30,11 +22,6 @@ Example:
<img src="https://github.com/dotnet-architecture/eShopOnContainers/blob/dev/img/sf/cloud-config-idsrv.PNG"> <img src="https://github.com/dotnet-architecture/eShopOnContainers/blob/dev/img/sf/cloud-config-idsrv.PNG">
<img src="https://github.com/dotnet-architecture/eShopOnContainers/blob/dev/img/sf/cloud-config-spa.PNG">
<img src="https://github.com/dotnet-architecture/eShopOnContainers/blob/dev/img/sf/cloud-config-mvc.PNG">
Additionally, to enable AppInsights Azure in SF, follow steps described bellow: Additionally, to enable AppInsights Azure in SF, follow steps described bellow:
- Create Azure AppInsights - Create Azure AppInsights
<img src="https://github.com/dotnet-architecture/eShopOnContainers/blob/dev/img/appinsights/create-insights.PNG"> <img src="https://github.com/dotnet-architecture/eShopOnContainers/blob/dev/img/appinsights/create-insights.PNG">