diff --git a/docs/installing_deis/system-requirements.rst b/docs/installing_deis/system-requirements.rst index 4388728b33..b740aa21fe 100644 --- a/docs/installing_deis/system-requirements.rst +++ b/docs/installing_deis/system-requirements.rst @@ -12,17 +12,38 @@ will move around the cluster onto healthy hosts as hosts leave the cluster for v (failures, reboots, autoscalers, etc.). Because of this, you should have ample spare resources on any machine in your cluster to withstand the additional load of running services for failed machines. -Machines must have: +Resources +--------- -* At least 4GB of RAM (Deis uses 2 - 2.5GB, plus room for failover and deployed applications) +Deis components consume approximately 2 - 2.5GB of memory across the cluster, and approximately +30GB of hard disk space. Because each machine should be able to absorb additional load should a +machine fail, each machine must have: + +* At least 4GB of RAM (more is better) * At least 40GB of hard disk space +Note that these estimates are for Deis and CoreOS only, and there should be ample room for deployed +applications. + Running smaller machines will likely result in increased system load and has been known to result in component failures, issues with etcd/fleet, and other problems. -If running multiple (at least 3) machines of an adequate size is unreasonable, it is recommended to +Cluster size +------------ + +For scheduling to work properly, clusters must consist of at least three nodes and always +have an odd number of members. This is mostly because the underlying CoreOS cluster must always +be able to obtain a quorum (see `optimal etcd cluster size`_). Additionally, the :ref:`Store` +component keeps three replicas of stored data, so it requires at least three nodes. + +.. important:: + + Deis clusters of less than three nodes are unsupported. + +If running multiple (at least three) machines of an adequate size is unreasonable, it is recommended to investigate the `Dokku`_ project instead. Dokku is `sponsored`_ by Deis and is ideal for environments where a highly-available distributed system is not necessary (i.e. local development, testing, etc.). .. _`dokku`: https://github.com/progrium/dokku +.. _`optimal etcd cluster size`: https://github.com/coreos/etcd/blob/master/Documentation/optimal-cluster-size.md .. _`sponsored`: http://deis.io/deis-sponsors-dokku/