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
Copy file name to clipboardExpand all lines: contrib/digitalocean/README.md
+25-45Lines changed: 25 additions & 45 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,42 +1,31 @@
1
1
# Provision a Deis Cluster on DigitalOcean
2
2
3
-
## Note on Deis support for DigitalOcean
4
-
DigitalOcean support was contributed by [sttts](https://github.com/sttts). The CoreOS bootstrapping
5
-
is heavily based on [Levi Aul's code](https://gist.github.com/tsutsu/490f35f48897df0f5173).
6
-
7
-
Note that DigitalOcean does not support CoreOS images natively. To work around this, the provision
8
-
scripts for DigitalOcean first create a CoreOS image which will be used for provisioning the cluster.
9
-
10
-
Until native DigitalOcean support for CoreOS is implemented, this workaround is likely to be more fragile than deploying
11
-
Deis to other cloud platforms which support CoreOS natively.
12
-
13
-
UPDATE: As of July 15, 2014, native CoreOS support on DigitalOcean is [planned](http://digitalocean.uservoice.com/forums/136585-digital-ocean/suggestions/4250154-suport-coreos-as-a-deployment-platform).
14
-
15
3
## Customize cloud-config.yml
16
4
Edit [user-data](../coreos/user-data) and add a discovery URL. This URL will be used by all nodes in this Deis cluster. You can get a new discovery URL by sending a request to http://discovery.etcd.io/new.
17
5
18
-
## Install tugboat and authorize:
19
-
The tugboat gem consumes the DigitalOcean API.
6
+
## Install docl and authorize:
7
+
The docl gem consumes the DigitalOcean API.
20
8
```console
21
-
$ gem install tugboat
22
-
$ tugboat authorize
9
+
$ gem install docl
23
10
```
24
-
You can leave all but the client and API keys as the defaults.
25
11
26
-
## Upload keys
27
-
Choose an SSH keypair to use for Deis and import it to DigitalOcean:
12
+
Before you can authorize you need to [create a Personal Access Token](https://www.digitalocean.com/community/tutorials/how-to-use-the-digitalocean-api-v2). Make sure you create a read & write token.
13
+
Copy paste the token (make sure you also save it somewhere encrypted) before you continue to the next step.
14
+
28
15
```console
29
-
$ tugboat add-key deis
16
+
$ docl authorize
30
17
```
31
18
32
-
Then, get the ID of the key:
19
+
## Upload keys
20
+
Choose an SSH keypair to use for Deis and import it to DigitalOcean:
33
21
```console
34
-
$ tugboat keys
22
+
$ docl upload_key deis ~/.ssh/deis.pub
35
23
```
24
+
This will print the ID of the uploaded key. Copy and paste the ID, you will need it in a later step.
36
25
37
-
## Create a Deis image:
26
+
In case you forget the ID of the public key you can retrieve it later with the following command:
Not all regions allow private networks. Choose one which does (at the time of this writing, NY 2,
60
-
Amsterdam 2, Singapore 1 or London 1) - check the web UI for the current private network support.
48
+
Not all regions allow private networks. Choose one which does (at the time of this writing, NY 2 & 3,
49
+
Amsterdam 2 & 3, Singapore 1 or London 1) - check the web UI for the current private network support.
61
50
62
-
You can enumerate all the regions with:
51
+
You can enumerate all of the supported regions with:
63
52
64
53
```console
65
-
$ tugboat regions
54
+
$ docl regions --private_networking --metadata
66
55
```
67
56
68
-
The provisioning script uses a 512 MB droplet by default because for image creation
69
-
more memory is not needed. Deis controller nodes will need at least 2 GB to even start all
57
+
Deis controller nodes will need at least 2 GB to even start all
70
58
the services. Add the memory requirements of deployed applications and choose an adequate
71
-
droplet size. The default is 8 GB (ID "65"). You can enumerate all sizes with:
59
+
droplet size. The default is 8 GB. Specify the size with NGB, where N is 2, 4, 8, 16, 32 or 64.
72
60
73
-
```console
74
-
$ tugboat sizes
75
-
```
76
-
77
-
## Choose number of routers
78
-
By default, the Makefile will provision 1 router. You can override this by setting `DEIS_NUM_ROUTERS`:
79
-
```console
80
-
$ export DEIS_NUM_ROUTERS=2
81
-
```
61
+
This will print the IP addresses of the initialized machines.
82
62
83
63
## Initialize the cluster
84
-
Once the cluster is up, get the IPs of any of the machines using `tugboat droplets`, set
85
-
DEISCTL_TUNNEL to one of these IPs:
64
+
set DEISCTL_TUNNEL to one of the IPs of the virtual machines (these are printed on the console in a previous step). You can also login to the web interface of DigitalOcean to see the Public IP addresses.
The script will deploy Deis and make sure the services start properly.
70
+
Deisctl will deploy Deis and make sure the services are started properly. Grab a coffee.
91
71
92
72
### Configure DNS
93
-
You'll need to configure DNS records so you can access applications hosted on Deis. See [Configuring DNS](http://docs.deis.io/en/latest/operations/configure-dns/) for details.
73
+
You'll need to configure DNS records so you can access applications hosted on Deis. See [Configuring DNS](http://docs.deis.io/en/latest/installing_deis/configure-dns/) for details.
0 commit comments