How can I use Nginx with IIS as LoadBalancer by using Octopus?

Hi;

How can I create Nginx load balancer with IIS? Forexample, if I send A deploy from octopus it should involve first Nginx loadbalancer . This question is not easy to describe for me. So I separated 2 phases about my problem.

1)there is 1 Nginx server(app.xyz.com) infront of IIS Websites (app1.xyz.com,app2.xyz.com,app3.xyz.com ) All requests are sent to app.xyz.com because it is a load balancer. Is it easy to do that? How can I do that by using Octopus with powershell.

  1. I have to stop app1.xyz.com by deploying while app2.xyz.com and app3.xyz.co. working.

When

 app1.xyz.com (DOWN)    app1.xyz.com (UP)     app1.xyz.com (UP)
 app1.xyz.com (UP)      app1.xyz.com (DOWN)   app1.xyz.com (UP)
 app1.xyz.com (UP)      app1.xyz.com (UP)     app1.xyz.com (DOWN)

step by step deploying without stopping all web apps. Please look at below pictures What I draw. Below I have my senarios for that. How can I do that these senarios over octopus?

Hi josef,

Thanks for reaching out and helping us to keep improving Octopus.

  1. Although you want to direct all user requests via the load balancer, we would recommend against directing deployments through it, because:

    • The security context and priorities are different.
    • You want to deploy to specific hosts, with no chance of being directed to a different one.
    • If the deployment itself could affect the load balancer, it should not depend on it.

    We recommend connecting to the tentacle on each deployment target on its own TCP port (10933 by default). This is completely separate from customer traffic, and can be separately firewalled. If you really need to avoid any inbound connections bypassing the load balancer, we also support a polling mode where the tentacles connect back to the Octopus server instead. You can find more information in the Tentacle Communication Modes documentation.

  2. We support this as a Rolling Deployment Pattern. A few approaches are covered in the Rolling Deployments documentation.

    You can configure nginx with whatever load balancing settings are appropriate for your app. You may want to remove each app from the load balancer during deployment downtime. Octopus can help coordinate this if you write a script or configuration transformation that removes/adds hosts in nginx's config and then signals it to reload, as illustrated in the Child Steps section.

To control Octopus using PowerShell, we recommend using the Octo.exe command line tool.

Hope that helps. Please let us know if we can assist further.

Regards,
David.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.