Search code examples
dockerkubernetesdocker-swarm

Cluster of forward proxies


I'm trying to figure out whether Docker Swarm or Kubernetes are a good choice for my use case.

Basically, I want to build a small cluster of forward proxies (via squid, nginx or a custom nodejs script), and be able to deploy/start/stop/purge them all together.

I should be able to access the proxy cluster via a single IP address, manager should be able to load-balance the request to a node, and each proxy node must use a unique outgoing IP address.

I'm wondering:

  1. Are Docker Swarm and/or Kubernetes the right way to go about it?

  2. If so, should I set-up Docker Swarm and/or Kubernetes and its worker nodes (running the proxy) on a single dedicated server or separate virtual servers?

  3. Is it also possible for all the cluster nodes to share a file system storage for caching, common config etc.

  4. Any other tips to get this working.

Thanks!


Solution

    1. Docker running in swarm mode should work well for this
    2. Run docker on a single dedicated server; I see no need for virtual servers. You could also run the swarm across multiple dedicated servers.
    3. https://docs.docker.com/engine/swarm/secrets/ work well for some settings and configurations. If you require significant storage, simply add a database service to your cluster

    Docker swarm mode fits your requirements quite well; requests are automatically balanced across your swarm and each service instance can be configured to have a unique address. You should check out the swarm mode tutorial: https://docs.docker.com/engine/swarm/swarm-tutorial/