You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor(Vagrantfile): merge Vagrantfiles and update to upstream
This commit merges the Makefiles and Vagrantfiles, and supports
both a 1-node and n-node local cluster with the same files. Also,
the user-data and override-plugin have been updated to be more
closely in line with upstream. Also updates README with additional
instructions.
closes #760, #747
Copy file name to clipboardExpand all lines: README.md
+79-33Lines changed: 79 additions & 33 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,56 +17,85 @@ If you need to use Deis with Chef integration, on Ubuntu 12.04 LTS, or
17
17
on DigitalOcean, you should use the
18
18
[v0.7.0 release](https://github.com/deis/deis/tree/v0.7.0) of Deis.
19
19
20
-
# Installation
20
+
# Deploying Deis
21
21
22
-
Deis is a set of Docker containers that can be deployed anywhere including public cloud, private cloud, bare metal or your workstation. You will need [Docker](https://www.docker.io/) and [Vagrant](http://www.vagrantup.com/) to get started.
22
+
Deis is a set of Docker containers that can be deployed anywhere including public cloud, private cloud, bare metal or your workstation. Decide where you'd like to deploy Deis, then follow the deployment-specific documentation for [Rackspace](contrib/rackspace/README.md) or [EC2](contrib/ec2/README.md). Documentation for OpenStack and bare-metal provisioning are forthcoming.
23
+
24
+
Trying out Deis? Continue following these instructions for a local cluster setup. This is also a great Deis testing/development environment.
25
+
26
+
## Install prerequisites
27
+
On your workstation:
28
+
* Install [Vagrant](http://www.vagrantup.com/downloads.html) and [VirtualBox](https://www.virtualbox.org/wiki/Downloads)
29
+
* Install [Go](http://golang.org/doc/install) and configure your GOPATH, if necessary
30
+
* Install the fleetctl client: `go get github.com/coreos/fleet && go install github.com/coreos/fleet/fleetctl`
31
+
* Install the Docker client if you want to run Docker commands locally (optional)
32
+
33
+
## Additional setup for a multi-node cluster
34
+
If you'd like to spin up more than one VM to test an entire cluster, there are a few additional prerequisites:
35
+
* Set `DEIS_NUM_INSTANCES` to the desired size of your cluster: ```$ export DEIS_NUM_INSTANCES=3```
36
+
* Edit [contrib/coreos/user-data](contrib/coreos/user-data) and add a unique discovery URL generated from `https://discovery.etcd.io/new`
23
37
24
38
## Boot CoreOS
25
39
26
-
First, start a CoreOS virtual machine on VirtualBox. From a command prompt, `cd` to the root of the Deis project code and type:
40
+
First, start the CoreOS cluster on VirtualBox. From a command prompt, `cd` to the root of the Deis project code and type:
27
41
42
+
```console
43
+
$ vagrant up
28
44
```
29
-
vagrant up
45
+
46
+
This instructs Vagrant to spin up each VM. To be able to connect to the VMs, you must add your Vagrant-generated SSH key to the ssh-agent (fleetctl tunnel requires the agent to have this key):
47
+
```console
48
+
$ ssh-add ~/.vagrant.d/insecure_private_key`
30
49
```
31
50
32
-
Export some environment variables so you can connect to the VM using the `docker` and [`fleetctl`](https://github.com/coreos/fleet#building) clients on your workstation.
51
+
Export some environment variables so you can connect to the VM using the `docker` and `fleetctl` clients on your workstation.
33
52
34
-
```
35
-
export DOCKER_HOST=tcp://172.17.8.100:4243
36
-
export FLEETCTL_TUNNEL=172.17.8.100
53
+
```console
54
+
$ export DOCKER_HOST=tcp://172.17.8.100:4243
55
+
$ export FLEETCTL_TUNNEL=172.17.8.100
37
56
```
38
57
39
58
## Build Deis
40
59
41
-
Use `make pull` to download cached layers from the public Docker Index. Then use `make build` to assemble all of the Deis components from Dockerfiles. Grab some coffee while it builds the images on the CoreOS VM (it can take a while).
60
+
Use `make pull` to download cached layers from the public Docker Index. Then use `make build` to assemble all of the Deis components from Dockerfiles. Grab some coffee while it builds the images on each VM (it can take a while).
42
61
43
-
```
44
-
make pull
45
-
make build
62
+
```console
63
+
$ make pull
64
+
$ make build
46
65
```
47
66
48
67
## Run Deis
49
68
50
69
Use `make run` to start all Deis containers and attach to their log output. This can take some time - the registry service will pull and prepare a Docker image. Grab some more coffee!
51
70
71
+
```console
72
+
$ make run
52
73
```
53
-
make run
54
-
```
74
+
75
+
## Additional steps for a multi-node cluster
76
+
* Configure local DNS. For a one-node cluster we do this for you: `local.deisapp.com` resolves to the IP of the first VM, 172.17.8.100. Since we cannot know where the `deis-router` container will be running in your cluster, you'll need to setup DNS and resolve a wildcard entry to use for your apps.
77
+
* Because of the DNS quandary, we don't start the deis-router component for you. You'll need to start this manually once DNS is setup: `systemctl start deis-router`.
55
78
56
79
## Install the Deis Client
57
-
Either use `pip install deis` to install the latest [Deis Client](https://pypi.python.org/pypi/deis/), download [pre-compiled binaries](https://github.com/deis/deis/tree/master/client#get-started), or symlink `client/deis.py` to use your local development version.
80
+
If you're using the latest Deis release, use `pip install deis` to install the latest [Deis Client](https://pypi.python.org/pypi/deis/) or download [pre-compiled binaries](https://github.com/deis/deis/tree/master/client#get-started).
58
81
82
+
If you're working off master, precompiled binaries are likely out of date. You should either symlink the python file directly or build a local copy of the client:
0 commit comments