Hacker News new | ask | show | jobs
by robszumski 4248 days ago
CoreOS contains a tool called fleet, which abstracts systemd into a cluster init system. fleet has scheduling rules such as "don't schedule more than 1 foobar on this box" or "schedule this app on a box with metadata region=foo" built in to it.

fleet doesn't aspire to do complex resource scheduling or high density bin-packing. The best way to accomplish these tasks is to use fleet to bootstrap more complex and higher-level services like Mesos, Kubernetes or Deis. fleet will make sure the components of those services are running in the cluster, even if machines die or are partitioned.

(CoreOS employee)

2 comments

Or, more robustly, run Kubernetes, Deis, and Marathon — along with Spark, Hadoop, Cassandra, and so on, all Mesos, all on the same cluster. Mesos is the only technology capable of doing that at any scale.
It'd be very interesting if you know anyone who is doing this sort of thing (fleetd for bootstrapping a more "heavyweight" scheduler) in production, and could prod them to do a write-up on their system. It might inspire some more interesting PaaS products. :)
Deis has been doing this successfully for a while now. Their work is all open source. Here's what the units look like to bootstrap all of their components: https://github.com/deis/deis/tree/master/deisctl/units

More info on the components: http://docs.deis.io/en/latest/understanding_deis/architectur...

The Kubernetes project has also documented a getting started guide for CoreOS: https://github.com/GoogleCloudPlatform/kubernetes/blob/maste...