3 ms·
Conceptually, I want the cluster orchestrator to populate a set of systemd units on each machine, and then switch to a very passive role in the node’s life. I
by chubot 6y ago
Conceptually, I want the cluster orchestrator to populate a set of systemd units on each machine, and then switch to a very passive role in the node’s life.
I tried to write a cluster manager from 2010-2015, and essentially what it did was write a big shell script for starting a service. The node could then reboot on its own, and the init system would invoke all the shell scripts.
The "host" part of the command line was on the left, and specified the container, and the user parts go on the right, after --
my-container --fs /images/mine --bind ... -- my-server --port $PORT
There could also be a line before that to sync the container / layers, etc.
I still think that is a good paradigm ... The whole thing could just be a "shell script compiler", where the shell script uses a very small number of tools.
The problem with cluster managers is that you get into the "inner platform" problem. Once you have a lot of software to run the cluster on each node, now you have to figure out how to update and monitor THAT software. But you don't necessarily have the update and monitoring mechanisms it implements!