Skip to content

Commit 8723ccf

Browse files
author
Jason Hansen
committed
Merge pull request #32 from slack/requirements
Consolidate system and configuration requirements into one spot.
2 parents 3e99cc6 + c056b93 commit 8723ccf

2 files changed

Lines changed: 31 additions & 18 deletions

File tree

src/installing-deis/quickstart.md

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,18 @@ 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 prerequisites and [system requirements][] for considerations when planning your Kubernetes environment.
88

99
## Choose a Provider
1010

11-
Choose one of the following providers and deploy a new kubernetes cluster:
11+
Choose one of the following providers and deploy a new Kubernetes cluster:
1212

1313
- [Amazon AWS](http://kubernetes.io/v1.1/docs/getting-started-guides/aws.html)
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

1717
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.
1818

19-
## Prerequisites
20-
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).
21-
22-
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`.
23-
24-
Restart your api server and check that the extensions api is enabled:
25-
26-
```
27-
$ kubectl api-versions
28-
$ extensions/v1beta1
29-
```
30-
3119
## Install Deis Platform
3220

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

src/installing-deis/system-requirements.md

Lines changed: 29 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,33 @@ 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. Daemon Sets 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, Daemon Sets 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+
# Docker Requirements
38+
39+
## Docker Version
40+
41+
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)).
42+
43+
## Docker Insecure Registry
44+
45+
The on-cluster, Deis-managed Docker registry is not deployed with TLS by default. As such, all Kubernetes worker nodes must have their Docker daemons configured to use an insecure registry. The subnet should encompase any private networks used by your worker nodes including any overlay networks. Depending on your Kubernetes and Docker configuration, setting `EXTRA_DOCKER_OPTS="--insecure-registry=10.0.0.0/8"` may be sufficient.

0 commit comments

Comments
 (0)