33We will use the ` helm ` utility to provision the Deis platform to a kubernetes cluster. If you don't
44have ` helm ` installed, see [ installing helm] [ helm ] for more info.
55
6+ ## Check Your Setup
7+
68First check that you have ` helm ` installed and the version is correct.
79
810 $ helm --version
@@ -22,54 +24,66 @@ properly by running
2224
2325If 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