Here is the scenario. You have a bunch of Linux servers or VMs that you you want to run applications on. You could start setting up the applications, use a script or a configuration managment tool like Ansible. Here is an alternative worth considering.
Better the underlying servers don't matter anymore. You can move you container applications complete with state across servers seamlessly in minutes so you are not locked in to any provider or specific server. Specific servers cease to matter.
The first step is to get the Flockport installer. The installer supports 4 distributions out of the box, is light weight and doesn't take over your server. Once installed you can provision servers in seconds, connect containers across servers, build overlay networks, distributed storage pools and roll out service discovery, load balancing, HA and more. If you have your own applications you can automate their builds into containers and deploy them.
Once installed you can provision more servers to build a cluster. Just provide the server IP and user and Flockport installs itself on the new server and generates certificates for a secure connection. You can add as many servers as you need and manage all these servers from a single point. Once you have a cluster you can download apps from the app store or build your own with the flockport container build system and deploy and manage them across your servers.
The most important part in building a cluster is networking. Containers are usually in a private network on your server and cannot be accessed outside the server. When building a cluster you ideally want containers across servers to be able to ping each other.
Flockport lets you build overlay networks with Vxlan, BGP and Wireguard. If you are building a local cluster and control the router can use simple bridging to ensure all containers across clusters are in the same network as the servers.
Distributed storage consolidates storage across servers and makes it available for use to clients. This is useful when multiple apps across the cluster need to share data and also for repliction and redundancy. Flockport lets you build distributed storage pools with Gluster and MFS or just simple shares with NFS.
When running clusters its useful to setup reverse proxies and load balancers to serve all your container apps from a single point. For instance you can configure Nginx reverse proxies to serve multiple apps from across the cluster. Or use Nginx or Haproxy to load balance multiple application instances.
Some platforms refer to these as 'ingress controllers' but this kind of vocabulary confuses rather than informs as you need to understand how Nginx and Haproxy work to successfully use them, simply knowing an API wrapper is not going to be enough.
Flockport lets you deploy managed Nginx and Haproxy instances to serve your applications.
You can also add managed Nginx and Haproxy load balancers
The next step is to explore cluster level services like service discovery and high availability. Flockport uses Consul for service discovery and lets you deploy discovery endpoints across your cluster. You can add services to containers. Containers on startup check for any available service discovery endpoints and publish any configured services to the endpoint. Discovery endpoints can also do heath checks and take unresponsive services offline.
Another cluster level service to explore is high availability or HA. HA ensures application services remain available even on server failure. This is achived by using 2 identical servers and a floating IP. You can configure the server set with a floating IP and HA and point any dependent services to the floating IP. If one server goes down the floating IP moves to the available server so services can continue to be delivered uninterrupted. Flockport automates setting up HA and uses Keepalived under the hood.
At this point you now have containers deployed across multiple servers that you can manage with ease. You may have setup networks and various services. The great thing about using containers is there is no state on your server. You can simply add new servers and move containers across and rebuild any networks or services required.