Skip to content

Commit 28f3727

Browse files
committed
docs(*): strongly suggest Deis clusters of 3+ nodes
Due to fleet and the Raft consensus algorithm, Deis clusters must consist of at least 3 nodes, and always be an odd number of members to ensure a quorum can be reached. This commit updates our documentation to reflect this.
1 parent f1229d2 commit 28f3727

3 files changed

Lines changed: 16 additions & 1 deletion

File tree

README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,13 @@ If you're on Ubuntu, you need to install the nfs-kernel-server package as it's r
3535

3636
## Additional setup for a multi-node cluster
3737
If you'd like to spin up more than one VM to test an entire cluster, there are a few additional prerequisites:
38-
* Set `DEIS_NUM_INSTANCES` to the desired size of your cluster: ```$ export DEIS_NUM_INSTANCES=3```
3938
* Edit [contrib/coreos/user-data](contrib/coreos/user-data) and add a unique discovery URL generated from `https://discovery.etcd.io/new`
39+
* Set `DEIS_NUM_INSTANCES` to the desired size of your cluster: ```$ export DEIS_NUM_INSTANCES=3```
40+
41+
Note that for scheduling to work properly, clusters must consist of at least 3 nodes and always have an odd number of members.
42+
For more information, see [optimal etcd cluster size](https://github.com/coreos/etcd/blob/master/Documentation/optimal-cluster-size.md).
43+
44+
Deis clusters of less than 3 nodes are unsupported for anything other than local development. A painless 3+ node development environment is a priority.
4045

4146
## Boot CoreOS
4247

contrib/ec2/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ By default, the script will provision 3 servers. You can override this by settin
3131
$ export DEIS_NUM_INSTANCES=5
3232
```
3333

34+
Note that for scheduling to work properly, clusters must consist of at least 3 nodes and always have an odd number of members.
35+
For more information, see [optimal etcd cluster size](https://github.com/coreos/etcd/blob/master/Documentation/optimal-cluster-size.md).
36+
37+
Deis clusters of less than 3 nodes are unsupported.
38+
3439
## Customize user-data
3540
Edit [user-data](../coreos/user-data) and add a new discovery URL.
3641
You can get a new one by sending a request to http://discovery.etcd.io/new.

contrib/rackspace/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,11 @@ By default, the script will provision 3 servers. You can override this by settin
4848
$ DEIS_NUM_INSTANCES=5 ./provision-rackspace-cluster.sh deis-key
4949
```
5050

51+
Note that for scheduling to work properly, clusters must consist of at least 3 nodes and always have an odd number of members.
52+
For more information, see [optimal etcd cluster size](https://github.com/coreos/etcd/blob/master/Documentation/optimal-cluster-size.md).
53+
54+
Deis clusters of less than 3 nodes are unsupported.
55+
5156
### Initialize the cluster
5257
Once the cluster is up, get the hostname of any of the machines from Rackspace, set
5358
FLEETCTL_TUNNEL, and issue a `make run` from the project root:

0 commit comments

Comments
 (0)