Skip to content

Commit 2e016f7

Browse files
JeffDMJim Galasyn
authored andcommitted
Update AWS and linux install instructions (docker#3179)
* Update AWS and linux install instructions * Move ddc_aws.svg to relative dir
1 parent ac246ec commit 2e016f7

6 files changed

Lines changed: 136 additions & 127 deletions

File tree

210 KB
Loading
92.9 KB
Loading
134 KB
Loading

datacenter/install/aws.md

Lines changed: 130 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -9,38 +9,9 @@ AWS. It deploys multiple nodes with Docker Enterprise Edition, and then installs
99
highly available versions of Universal Control Plane and Docker Trusted
1010
Registry.
1111

12-
![ddc_aws.svg](/images/ddc_aws.svg)
13-
14-
## How it Works
15-
16-
The solution uses an Amazon AWS CloudFormation template to create everything
17-
that you need from scratch. The template first starts off by creating a new VPC
18-
along with its subnets and security groups. Once the networking is set up, it
19-
will create two Auto Scaling groups, one for the managers and one for the
20-
workers, and set the desired capacity that was selected in the CloudFormation
21-
setup form. The Managers will start up first and create a Swarm manager quorum
22-
using Raft. The workers will then start up and join the swarm one by one, until
23-
all of the workers are up and running. At this point you will have a number of
24-
managers and workers in your swarm, that are ready to handle your application
25-
deployments. It then bootstraps UCP controllers on manager nodes and UCP agents
26-
on worker nodes. Next, it installs DTR on the manager nodes and configures it
27-
to use an S3 bucket as an image storage backend. Three ELBs, one for UCP, one
28-
for DTR and a third for your applications, are launched and automatically
29-
configured to provide resilient loadbalancing across multiple AZs.
30-
The application ELB gets automatically updated when services are launched or
31-
removed. While UCP and DTR ELBs are configured for HTTPS only.
32-
33-
Both manager and worker nodes are part of separate ASG groups to allow you to
34-
scale your cluster when needed. If you increase the number of instances running
35-
in your worker Auto Scaling group (via the AWS console, or updating the
36-
CloudFormation configuration), the new nodes that will start up will
37-
automatically join the swarm. This architecture ensures that both manager
38-
and worker nodes are spread across multiple AZs for resiliency and
39-
high-availability. The template is adjustable and upgradeable meaning you can
40-
adjust your configuration (e.g instance types or Docker engine version).
41-
42-
## Prerequisites
12+
## Prerequisites for deploying Docker EE for AWS
4313

14+
- A [Docker Enterprise Edition](https://store.docker.com/editions/enterprise/docker-ee-trial?tab=description) license. You can get a 30-day free trial subscription from the [Docker Store](https://store.docker.com/editions/enterprise/docker-ee-trial?plan=free-trial&plan=free-trial&tab=description). For questions on licenses, contact [[email protected]](mailto:[email protected]).
4415
- Access to an AWS account with permissions to use CloudFormation and creating the following objects
4516
- EC2 instances + Auto Scaling groups
4617
- IAM profiles
@@ -50,96 +21,33 @@ in your worker Auto Scaling group (via the AWS console, or updating the
5021
- ELB
5122
- CloudWatch Log Group
5223
- S3 Bucket
53-
5424
- SSH key in AWS in the region where you want to deploy (required to access the completed Docker install)
5525
- AWS account that supports EC2-VPC
5626

5727
For more information about adding an SSH key pair to your account, please refer to the [Amazon EC2 Key Pairs docs](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html).
5828

29+
## Provision the Docker EE for AWS CloudFormation Stack
5930

60-
## Cloudformation Parameters
61-
62-
Here are the required configuration parameters for the Cloudformation template:
63-
64-
**KeyName**
65-
SSH key that will be used when you SSH into the manager nodes. The key needs to
66-
be configured in the same region you launch the Cloudformation template in.
67-
68-
**InstanceType**
69-
The EC2 instance type for your Worker nodes
70-
71-
**ManagerInstanceType**
72-
The EC2 instance type for your Manager nodes. The larger your swarm, the larger
73-
the instance size you should use.
74-
75-
**ClusterSize**
76-
The number of Workers you want in your swarm (1-1000)
77-
78-
**ManagerSize**
79-
The number of Managers in your swarm. You can pick either 3 or 5 managers
80-
81-
**DDCUsernameSet**
82-
Docker Datacenter Username
83-
84-
**DDCPasswordSet**
85-
Docker Datacenter Password
86-
87-
**License**
88-
Docker Datacenter License in JSON format or an S3 URL to download it. You can
89-
get a trial license [here](https://store.docker.com/bundles/docker-datacenter)
90-
91-
**EnableSystemPrune**
92-
93-
Enable if you want Docker for AWS to automatically cleanup unused space on your swarm nodes.
94-
95-
When enabled, `docker system prune` will run staggered every day, starting at 1:42AM UTC on both workers and managers. The prune times are staggered slightly so that not all nodes will be pruned at the same time. This limits resource spikes on the swarm.
96-
97-
Pruning removes the following:
98-
99-
- All stopped containers
100-
- All volumes not used by at least one container
101-
- All dangling images
102-
- All unused networks
103-
104-
**WorkerDiskSize**
105-
Size of Workers's ephemeral storage volume in GiB (20 - 1024).
106-
107-
**WorkerDiskType**
108-
Worker ephemeral storage volume type ("standard", "gp2").
109-
110-
**ManagerDiskSize**
111-
Size of Manager's ephemeral storage volume in GiB (20 - 1024)
112-
113-
**ManagerDiskType**
114-
Manager ephemeral storage volume type ("standard", "gp2")
31+
1. **Find the Docker EE for AWS Standard/Advanced listing on the AWS Marketplace**
32+
- In a web browser, go to the [AWS Marketplace listing for Docker EE for AWS](https://aws.amazon.com/marketplace/pp/B06XCFDF9K) page.
33+
- Click on **Continue** to continue to the **Launch on EC2** dialog.
34+
- Choose your **Region** then click **Launch with CloudFormation Console**.
35+
- If not already logged in, you will be prompted to log into your AWS account.
11536

116-
## Software Versions
37+
2. **Create the Stack via CloudFormation**
38+
- You should now be in the AWS CloudFormation wizard (as seen below). Hit **next** to continue.
39+
![aws_stack_welcome.png](../images/aws_stack_welcome.png)
11740

118-
- UCP: `2.1.1`
119-
- DTR: `2.2.3`
120-
- Docker Enterprise Edition 17.03
121-
122-
## System containers
123-
Each node will have a few system containers running on them to help run your swarm cluster. In order for everything to run smoothly, please keep those containers running, and don't make any changes. If you make any changes, we can't guarantee that Docker EE for AWS will work correctly.
41+
- In the Specify Details page, fill out any **missing parameters** as seen below:
42+
- Your preferred SSH key to access the cluster nodes
43+
- Your desired administrator password
44+
- Your Docker Enterprise Edition license (optional, can be done later). This can be found on the [Docker Store](https://store.docker.com/?overlay=subscriptions) under your subscriptions. Copy and paste the contents of your `.lic` file into this dialog.
12445

125-
## Supported Regions
126-
127-
- ap-northeast-1
128-
- ap-northeast-2
129-
- ap-south-1
130-
- ap-southeast-1
131-
- ap-southeast-2
132-
- eu-central-1
133-
- eu-west-1
134-
- sa-east-1
135-
- us-east-1
136-
- us-east-2
137-
- us-west-1
138-
- us-west-2
139-
140-
## AMIs
141-
Docker Enterprise Edition for AWS currently only supports our custom AMI,
142-
which is a highly optimized AMI built specifically for running Docker on AWS
46+
![aws_stack_details.png](../images/aws_stack_details.png)
47+
- Click **Next** to continue to the options page. Leave this as-is.
48+
- Click **Next** to review your changes.
49+
- Finally, acknowledge any capabilities and click **Create** to finish:
50+
![aws_stack_details.png](../images/aws_stack_finish.png)
14351

14452
## Accessing Docker EE for AWS (Standard/Advanced)
14553

@@ -276,6 +184,116 @@ provides multiple advantages to easily deploy and access your application.
276184
ehazlett/docker-demo:dcus
277185
```
278186
187+
188+
## How it Works
189+
190+
The solution uses an Amazon AWS CloudFormation template to create everything
191+
that you need from scratch. The template first starts off by creating a new VPC
192+
along with its subnets and security groups. Once the networking is set up, it
193+
will create two Auto Scaling groups, one for the managers and one for the
194+
workers, and set the desired capacity that was selected in the CloudFormation
195+
setup form. The Managers will start up first and create a Swarm manager quorum
196+
using Raft. The workers will then start up and join the swarm one by one, until
197+
all of the workers are up and running. At this point you will have a number of
198+
managers and workers in your swarm, that are ready to handle your application
199+
deployments. It then bootstraps UCP controllers on manager nodes and UCP agents
200+
on worker nodes. Next, it installs DTR on the manager nodes and configures it
201+
to use an S3 bucket as an image storage backend. Three ELBs, one for UCP, one
202+
for DTR and a third for your applications, are launched and automatically
203+
configured to provide resilient loadbalancing across multiple AZs.
204+
The application ELB gets automatically updated when services are launched or
205+
removed. While UCP and DTR ELBs are configured for HTTPS only.
206+
207+
Both manager and worker nodes are part of separate ASG groups to allow you to
208+
scale your cluster when needed. If you increase the number of instances running
209+
in your worker Auto Scaling group (via the AWS console, or updating the
210+
CloudFormation configuration), the new nodes that will start up will
211+
automatically join the swarm. This architecture ensures that both manager
212+
and worker nodes are spread across multiple AZs for resiliency and
213+
high-availability. The template is adjustable and upgradeable meaning you can
214+
adjust your configuration (e.g instance types or Docker engine version).
215+
216+
![`ddc_aws`.svg](../images/ddc_aws.svg)
217+
218+
219+
## Cloudformation Parameters
220+
221+
Here are the required configuration parameters for the Cloudformation template:
222+
223+
**KeyName**
224+
SSH key that will be used when you SSH into the manager nodes. The key needs to
225+
be configured in the same region you launch the Cloudformation template in.
226+
227+
**InstanceType**
228+
The EC2 instance type for your Worker nodes
229+
230+
**ManagerInstanceType**
231+
The EC2 instance type for your Manager nodes. The larger your swarm, the larger
232+
the instance size you should use.
233+
234+
**ClusterSize**
235+
The number of Workers you want in your swarm (1-1000)
236+
237+
**ManagerSize**
238+
The number of Managers in your swarm. You can pick either 3 or 5 managers
239+
240+
**DDCUsernameSet**
241+
Docker Datacenter Username
242+
243+
**DDCPasswordSet**
244+
Docker Datacenter Password
245+
246+
**License**
247+
Docker Datacenter License in JSON format or an S3 URL to download it. You can
248+
get a trial license [here](https://store.docker.com/bundles/docker-datacenter)
249+
250+
**EnableSystemPrune**
251+
252+
Enable if you want Docker for AWS to automatically cleanup unused space on your swarm nodes.
253+
254+
When enabled, `docker system prune` will run staggered every day, starting at 1:42AM UTC on both workers and managers. The prune times are staggered slightly so that not all nodes will be pruned at the same time. This limits resource spikes on the swarm.
255+
256+
Pruning removes the following:
257+
258+
- All stopped containers
259+
- All volumes not used by at least one container
260+
- All dangling images
261+
- All unused networks
262+
263+
**WorkerDiskSize**
264+
Size of Workers's ephemeral storage volume in GiB (20 - 1024).
265+
266+
**WorkerDiskType**
267+
Worker ephemeral storage volume type ("standard", "gp2").
268+
269+
**ManagerDiskSize**
270+
Size of Manager's ephemeral storage volume in GiB (20 - 1024)
271+
272+
**ManagerDiskType**
273+
Manager ephemeral storage volume type ("standard", "gp2")
274+
275+
## System containers
276+
Each node will have a few system containers running on them to help run your swarm cluster. In order for everything to run smoothly, please keep those containers running, and don't make any changes. If you make any changes, we can't guarantee that Docker EE for AWS will work correctly.
277+
278+
## Supported Regions
279+
280+
- ap-northeast-1
281+
- ap-northeast-2
282+
- ap-south-1
283+
- ap-southeast-1
284+
- ap-southeast-2
285+
- eu-central-1
286+
- eu-west-1
287+
- sa-east-1
288+
- us-east-1
289+
- us-east-2
290+
- us-west-1
291+
- us-west-2
292+
293+
## AMIs
294+
Docker Enterprise Edition for AWS currently only supports our custom AMI,
295+
which is a highly optimized AMI built specifically for running Docker on AWS
296+
279297
#### Non-Swarm Mode Container Based Applications
280298
281299
If you are deploying non-swarm mode container-based applications, you can

datacenter/install/linux.md

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -28,20 +28,11 @@ Also make sure the hosts are running one of these operating systems:
2828
[Learn more about the Docker Datacenter system requirements](../ucp/2.1/guides/admin/install/system-requirements.md)
2929

3030

31-
### Step 2: Install CS Docker Engine
31+
### Step 1: Install Docker EE Container Engine
3232

33-
Install the commercially supported Docker Engine on all hosts you want to manage
34-
with Docker Datacenter.
33+
Install the Docker Enterprise Edition container engine on all hosts you want to manage by following [these instructions](/engine/installation/).
3534

36-
Log in to each host using ssh, and install CS Docker Engine:
37-
38-
```bash
39-
curl -SLf https://packages.docker.com/1.13/install.sh | sh
40-
```
41-
42-
[You can also install CS Docker Engine using a package manager](/cs-engine/1.13/index.md).
43-
44-
### Step 3: Install Universal Control Plane
35+
### Step 2: Install Universal Control Plane
4536

4637
Docker Universal Control Plane (UCP) allows managing from a centralized place
4738
your images, applications, networks, and other computing resources.
@@ -62,7 +53,7 @@ for any necessary configuration values.
6253
[Learn more about the UCP installation](../ucp/2.1/guides/admin/install/index.md).
6354

6455

65-
### Step 4: License your installation
56+
### Step 3: License your installation
6657

6758
Now that UCP is installed, you need to license it. In your browser, navigate
6859
to the UCP web UI, log in with your administrator credentials and upload your
@@ -72,7 +63,7 @@ license.
7263

7364
[Get a free trial license if you don't have one](https://store.docker.com/bundles/docker-datacenter).
7465

75-
### Step 5: Join more nodes to UCP
66+
### Step 4: Join more nodes to UCP
7667

7768
Join more nodes so that you can manage them from UCP.
7869
Go to the **UCP web UI**, navigate to the **Resources** page, and go to
@@ -93,7 +84,7 @@ Copy the command to your clipboard, and run it on every node that you want
9384
to be managed by UCP. After you run the command in the node, the node
9485
will show up in the UP web UI.
9586

96-
### Step 6: Install Docker Trusted Registry
87+
### Step 5: Install Docker Trusted Registry
9788

9889
Docker Trusted Registry (DTR) is a private image registry so that you can
9990
manage who has access to your Docker images. DTR needs to be installed on

0 commit comments

Comments
 (0)