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,65 @@ 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 if ` HELM_HOME ` is not in your environment,
49+ it defaults to ` ~/.helm `
50+ 2 . Replace ` example.com ` under ` metadata.annotations.deis.io/routerConfig ` with
51+ the domain of your choice. This will be called the _ platform domain_ . You may choose
52+ any domain, but the ` Routing Traffic ` section below details how to configure DNS or your
53+ host to use that domain properly, so you may want to read that section before proceeding.
4554
46- ### Configuring the Platform Domain
55+ ## Launch Your Deis Cluster
4756
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:
57+ Now that you have it prepared, launch the Deis cluster with:
5558
5659```
57- $ kubectl edit rc deis-router --namespace= deis
60+ $ helm install deis/ deis
5861```
5962
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.
63+ This command will launch a variety of Kubernetes resources in the ` deis ` namespace.
64+ You'll need to wait for the pods that it launched to be ready. Monitor their status
65+ by running:
6366
64- ### Getting Traffic to the Cluster
67+ ```
68+ $ kubectl get pods --namespace=deis
69+ ```
70+
71+ Once you see all of the pods in the ` READY ` state, your Deis platform is running on a cluster!
72+
73+ ## A Note on Routing Traffic
6574
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.
75+ As mentioned above, the Deis router component is responsible for accepting traffic
76+ from outside the Kubernetes cluster and directing appropriately. It uses the
77+ incoming request's HTTP ` Host ` header to direct traffic to Deis components and
78+ to applications deployed via Deis.
79+
80+ ### Getting Traffic to the Cluster
7081
71- In general, the goal is to connect traffic bound for
72- ` *.the-domain-you.picked ` to your Kubernetes cluster.
82+ You already configured the router with a platform domain in the above setup instructions.
83+ This section details how to configure DNS and/or your local ` /etc/hosts ` file so that
84+ traffic bound for ` *.your-platform.domain ` will make it to your Kubernetes cluster
85+ and the Deis router.
7386
7487#### Using an Automatically Provisioned Load Balancer
7588
0 commit comments