Plancton continuously deploys pilot Docker containers running any application you want based on the amount of available system resources.
-
Upgrade pilot jobs to pilot containers. Plancton is meant to run "pilot" containers: your container starts and tries to fetch something to do. When the container exits, Plancton will replace it with a brand new one. An example of application easy to containerize is WorkQueue from cctools).
-
Meant for clusters. Pilot applications are containerized and deployed on a cluster of nodes, each one of them running a Plancton instance. Plancton instances are totally independent, therefore it naturally scales.
-
Monitoring. Sends monitoring data to InfluxDB, easy to plot via Grafana.
-
Containers for the masses. Plancton brings the features of Docker containers (environment consistency, isolation, sandboxing) to disposable cluster applications. Plancton is not a replacement to Apache Mesos or Kubernetes but it is a very simple and lightweight alternative when you don't need all the extra features they offer.
Docker is required, and a recent Linux operating system.
Install the latest version with pip
:
pip install plancton
If you want to install from the master branch (use at your own risk):
pip install git+https://github.com/mconcas/plancton
Plancton can be run as root or as any user with Docker privileges:
planctonctl start
The configuration file is located under /etc/plancton/config.yaml
and it can
be modified while Plancton is running. By default it starts with an empty
configuration running dummy busybox
containers.
You can get configurations with:
plancton-bootstrap <gh-user/gh-repo:branch>
and they'll be downloaded to the correct place. An example dry run configuration can be obtained with:
plancton-bootstrap <mconcas/plancton-conf:dryrun>
Credits for the name go to G.