Skip to content

Commit acd46da

Browse files
committed
Merge pull request #155 from arschles/helm-edit
doc(installing-the-deis-platform.md): change instructions to edit router RC manifest before helm install
2 parents ea9f2a7 + de81740 commit acd46da

1 file changed

Lines changed: 45 additions & 31 deletions

File tree

docs/src/installing-deis/installing-the-deis-platform.md

Lines changed: 45 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
We will use the `helm` utility to provision the Deis platform to a kubernetes cluster. If you don't
44
have `helm` installed, see [installing helm][helm] for more info.
55

6+
## Check Your Setup
7+
68
First check that you have `helm` installed and the version is correct.
79

810
$ helm --version
@@ -22,54 +24,66 @@ properly by running
2224

2325
If you see a list of targets like the one above, helm can communicate with the kubernetes master.
2426

25-
Once finished, run this command to provision the Deis platform:
27+
## Get the Helm Chart
2628

27-
$ helm update
28-
$ helm repo add deis https://github.com/deis/charts
29-
$ helm install deis/deis
29+
The [Helm Deis Chart](https://github.com/deis/charts) contains everything you
30+
need to install Deis onto your Kubernetes cluster, with a single `helm install` command.
3031

31-
You can then monitor their status by running
32+
Run the following commands to set up your Helm environment and install the chart:
3233

3334
```
34-
$ kubectl get pods --namespace=deis
35+
$ helm update
36+
$ helm repo add deis https://github.com/deis/charts
37+
$ helm fetch deis/deis
3538
```
3639

37-
Once you see all of the pods ready, your Deis platform is running on a cluster!
40+
## Set up the Deis Router
3841

39-
## Routing Traffic
42+
Now that you have the Deis chart, you'll need to make a minor edit to the
43+
`deis-router-rc.yaml` Kubernetes manifest file to prepare the router to accept
44+
incoming traffic on a domain of your choice. Follow the following steps to make
45+
the edit:
4046

41-
The Deis router component will use an incoming request's HTTP `Host`
42-
header to direct traffic to Deis components and to applications deployed
43-
via Deis. It is therefore important that the router be configured
44-
properly and that DNS and/or your local `/etc/hosts` file are as well.
47+
1. Open the `$(helm home)/workspace/charts/deis/manifests/deis-router-rc.yaml`
48+
file in your favorite editor. Note that `$(helm home)` executes the command to get
49+
the directory that helm uses to store its config and all its charts. See
50+
http://helm.readthedocs.org/en/latest/workspace/ for details.
51+
2. Replace `example.com` under `metadata.annotations.deis.io/routerConfig` with
52+
the domain of your choice. This will be called the _platform domain_. You may choose
53+
any domain, but the `Routing Traffic` section below details how to configure DNS or your
54+
host to use that domain properly, so you may want to read that section before proceeding.
4555

46-
### Configuring the Platform Domain
56+
## Launch Your Deis Cluster
4757

48-
The Deis router requires a "platform domain" be set. Deis components
49-
that respond to HTTP requests and applications deployed via Deis will
50-
all live on subdomains of the platform domain. When installing Deis
51-
via helm, the platform domain is set to `example.com` by default. This
52-
can be changed by editing Deis' helm chart prior to installation.
53-
Alternatively, the change can be made after Deis has been installed
54-
by editing the router's replication controller like so:
58+
Now that you have it prepared, launch the Deis cluster with:
5559

5660
```
57-
$ kubectl edit rc deis-router --namespace=deis
61+
$ helm install deis/deis
5862
```
5963

60-
Find `example.com` in the manifest, change it to a domain of your
61-
choosing, and save changes. Kubernetes will apply the changes and
62-
the router will dynamically reconfigure itself accordingly.
64+
This command will launch a variety of Kubernetes resources in the `deis` namespace.
65+
You'll need to wait for the pods that it launched to be ready. Monitor their status
66+
by running:
6367

64-
### Getting Traffic to the Cluster
68+
```
69+
$ kubectl get pods --namespace=deis
70+
```
71+
72+
Once you see all of the pods in the `READY` state, your Deis platform is running on a cluster!
73+
74+
## A Note on Routing Traffic
6575

66-
With the platform domain configured, the only remaining concern
67-
is to ensure traffic for that domain reaches the cluster. There
68-
are a few ways of doing this, and which you use may depend on the
69-
capabilities of your infrastructure and your Kubernetes cluster.
76+
As mentioned above, the Deis router component is responsible for accepting traffic
77+
from outside the Kubernetes cluster and directing appropriately. It uses the
78+
incoming request's HTTP `Host` header to direct traffic to Deis components and
79+
to applications deployed via Deis.
80+
81+
### Getting Traffic to the Cluster
7082

71-
In general, the goal is to connect traffic bound for
72-
`*.the-domain-you.picked` to your Kubernetes cluster.
83+
You already configured the router with a platform domain in the above setup instructions.
84+
This section details how to configure DNS and/or your local `/etc/hosts` file so that
85+
traffic bound for `*.your-platform.domain` will make it to your Kubernetes cluster
86+
and the Deis router.
7387

7488
#### Using an Automatically Provisioned Load Balancer
7589

0 commit comments

Comments
 (0)