Skip to content

Commit 26ef2df

Browse files
committed
doc(requirements): gather system requirements in one spot
1 parent 5ed97a7 commit 26ef2df

2 files changed

Lines changed: 29 additions & 22 deletions

File tree

src/installing-deis/quickstart.md

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ These steps will help you provision a Deis cluster.
44

55
## Check System Requirements
66

7-
Please refer to the [system requirements][] for resource considerations when choosing a machine size to run Deis.
7+
Please refer to the prequisites and [system requirements][] for considerations when planning your Kubernetes environment.
88

99
## Choose a Provider
1010

@@ -14,23 +14,6 @@ Choose one of the following providers and deploy a new Kubernetes cluster:
1414
- [Google Container Engine](https://cloud.google.com/container-engine/docs/before-you-begin)
1515
- [Vagrant](http://kubernetes.io/v1.1/docs/getting-started-guides/vagrant.html)
1616

17-
Reference [this table](http://kubernetes.io/v1.1/docs/getting-started-guides/#table-of-solutions) in the official Kubernetes documentation for a more extensive (but still non-exhaustive) list of Kubernetes provisioning options supported by the project or the community.
18-
19-
## Prerequisites
20-
21-
Please make sure you enable the Daemon Sets API if you are installing a pre-1.2 version of Kubernetes. As it is not turned on by default. You can learn more about how to do that [here](http://kubernetes.io/v1.1/docs/api.html#enabling-resources-in-the-extensions-group).
22-
23-
For example, with a CoreOS Kubernetes cluster you can edit the API server unit file and add the following line to the `ExecStart` stanza: `--runtime_config=extensions/v1beta1=true,extensions/v1beta1/daemonsets=true`.
24-
25-
Restart your API server and check that the extensions API is enabled by running:
26-
27-
```
28-
$ kubectl api-versions
29-
extensions/v1beta1
30-
v1
31-
$
32-
```
33-
3417
## Install Deis Platform
3518

3619
Now that you've finished provisioning a cluster, please [Install the Deis Platform][install deis].

src/installing-deis/system-requirements.md

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# System Requirements
1+
# Resource Requirements
22

33
When deploying Deis, it's important to provision machines with adequate resources. Deis is a highly-available distributed system, which means that Deis components and your deployed applications will move around the cluster onto healthy hosts as hosts leave the cluster for various reasons (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.
44

@@ -13,8 +13,32 @@ Note that these estimates are for Deis and Kubernetes only, and there should be
1313

1414
Running smaller machines will likely result in increased system load and has been known to result in component failures and other problems.
1515

16-
## Network
1716

18-
Due to changes introduced in Docker 1.3.1 related to insecure Docker registries, the hosts running Deis must be able to communicate via a private network procured by kubernetes in the `10.0.0.0/8` private address space. This allows the docker daemon used by the controller to communicate with the registry. Ensure that your hosts have the following entries in their respective DOCKER_OPTS:
17+
# Kubernetes Requirements
1918

20-
EXTRA_DOCKER_OPTS="--insecure-registry 10.0.0.0/8"
19+
### Versions
20+
21+
Deis workflow has been tested with the Kubernetes v1.1 release line. While Kubernetes 1.2 may work we haven't fully tested that release.
22+
23+
### Daemon Sets
24+
25+
The logging components require Kubernetes Daemon Sets API. DaemonSets are not enabled by default in the v1.1 release line, to enable these extensions follow the instructions found [here](http://kubernetes.io/v1.1/docs/api.html#enabling-resources-in-the-extensions-group). If you are running Kubernetes v1.2, DaemonSets are enabled by default.
26+
27+
Specific steps to enable api extensions may vary based on your Kubernetes configuration. For example, to update a CoreOS Kubernetes cluster edit the API server unit file and add the following line to the `ExecStart` stanza: `--runtime_config=extensions/v1beta1=true,extensions/v1beta1/daemonsets=true`.
28+
29+
Restart your API server and check that the extensions API is enabled by running:
30+
31+
```
32+
$ kubectl api-versions
33+
extensions/v1beta1
34+
v1
35+
$
36+
```
37+
38+
## Docker Version
39+
40+
Any Kubernetes 1.1 cluster should also use a Docker version < 1.10.0 so that `kubectl exec` and Deis database health checks work properly (Refs: [fsouza/go-dockerclient#455](https://github.com/fsouza/go-dockerclient/issues/455) and [kubernetes/kubernetes#19720](https://github.com/kubernetes/kubernetes/issues/19720)).
41+
42+
## Docker Insecure Registry
43+
44+
The on-cluster, Deis managed Docker registry is not deployed with TLS by default. As such, all docker daemons on your Kubernetes worker nodes must be configured with an appropriate "insecure-registry". The subnet given to "insecure-registry" should encompase any private networks used by your hosts including the configured overlay networks. Depending on your Kubernetes configuration `10.0.0.0/8` may be sufficient.

0 commit comments

Comments
 (0)