From fec803f7793ce347fe276ea93c13fb9022677135 Mon Sep 17 00:00:00 2001 From: Charles Smith Date: Wed, 13 Jul 2016 16:52:59 -0700 Subject: [PATCH] update create swarm and add nodes to use the auto-generated join command Signed-off-by: Charles Smith --- docs/swarm/swarm-tutorial/add-nodes.md | 41 ++++++++++------- docs/swarm/swarm-tutorial/create-swarm.md | 54 +++++++++++++---------- 2 files changed, 55 insertions(+), 40 deletions(-) diff --git a/docs/swarm/swarm-tutorial/add-nodes.md b/docs/swarm/swarm-tutorial/add-nodes.md index dee1d9db09..694f5eecf9 100644 --- a/docs/swarm/swarm-tutorial/add-nodes.md +++ b/docs/swarm/swarm-tutorial/add-nodes.md @@ -19,34 +19,41 @@ to add worker nodes. 1. Open a terminal and ssh into the machine where you want to run a worker node. This tutorial uses the name `worker1`. -2. Run the following command to create a worker node joined to -the existing swarm: +2. Run the command produced by the `docker swarm init` output from the +[Create a swarm](create-swarm.md) tutorial step to create a worker node joined to the existing swarm: + ```bash + $ docker swarm join --secret 4ao565v9jsuogtq5t8s379ulb \ + --ca-hash sha256:07ce22bd1a7619f2adc0d63bd110479a170e7c4e69df05b67a1aa2705c88ef09 \ + 192.168.99.100:2377 ``` + + If you don't have the command available, you can run the following command: + + ```bash docker swarm join --secret : ``` - Replace `` with the secret that was printed by `docker swarm init` in the - previous step. Replace `` with the address of the manager node - and `` with the port where the manager listens. + Replace `` with the secret that was printed by `docker swarm init` + in the previous step. Replace `` with the address of the manager + node and `` with the port where the manager listens. - In the tutorial, the following command joins `worker1` to the swarm on `manager1`: - - ``` - $ docker swarm join --secret 4ao565v9jsuogtq5t8s379ulb 192.168.99.100:2377 - - This node joined a Swarm as a worker. - ``` + The command generated from `docker swarm init` includes the `--ca-hash` to + securely identify the manager node according to its root CA. For the + tutorial, it is OK to join without it. 3. Open a terminal and ssh into the machine where you want to run a second worker node. This tutorial uses the name `worker2`. -4. Run `docker swarm join --secret :` to create a worker node joined to -the existing Swarm. +4. Run the command produced by the `docker swarm init` output from the +[Create a swarm](create-swarm.md) tutorial step to create a second worker node +joined to the existing swarm: - Replace `` with the secret that was printed by `docker swarm init` in the - previous step. Replace `` with the address of the manager node - and `` with the port where the manager listens. + ```bash + $ docker swarm join --secret 4ao565v9jsuogtq5t8s379ulb \ + --ca-hash sha256:07ce22bd1a7619f2adc0d63bd110479a170e7c4e69df05b67a1aa2705c88ef09 \ + 192.168.99.100:2377 + ``` 5. Open a terminal and ssh into the machine where the manager node runs and run the `docker node ls` command to see the worker nodes: diff --git a/docs/swarm/swarm-tutorial/create-swarm.md b/docs/swarm/swarm-tutorial/create-swarm.md index 14045a6acc..f2e356132f 100644 --- a/docs/swarm/swarm-tutorial/create-swarm.md +++ b/docs/swarm/swarm-tutorial/create-swarm.md @@ -22,51 +22,59 @@ node. For example, the tutorial uses a machine named `manager1`. 2. Run the following command to create a new swarm: - ``` + ```bash docker swarm init --listen-addr : ``` - In the tutorial, the following command creates a swarm on the `manager1` machine: + In the tutorial, the following command creates a swarm on the `manager1` + machine: - ``` + ```bash $ docker swarm init --listen-addr 192.168.99.100:2377 No --secret provided. Generated random secret: - 4ao565v9jsuogtq5t8s379ulb + 4ao565v9jsuogtq5t8s379ulb - Swarm initialized: current node (dxn1zf6l61qsb1josjja83ngz) is now a manager. + Swarm initialized: current node (dxn1zf6l61qsb1josjja83ngz) is now a + manager. To add a worker to this swarm, run the following command: - docker swarm join --secret 4ao565v9jsuogtq5t8s379ulb \ - --ca-hash sha256:07ce22bd1a7619f2adc0d63bd110479a170e7c4e69df05b67a1aa2705c88ef09 \ - 192.168.99.100:2377 + docker swarm join --secret 4ao565v9jsuogtq5t8s379ulb \ + --ca-hash sha256:07ce22bd1a7619f2adc0d63bd110479a170e7c4e69df05b67a1aa2705c88ef09 \ + 192.168.99.100:2377 ``` The `--listen-addr` flag configures the manager node to listen on port `2377`. The other nodes in the swarm must be able to access the manager at the IP address. + The `--ca-hash` flag provides the identity of the root CA for the manager + node. + +2. Save the output of `docker swarm init` that includes the command to join +worker nodes to the swarm. + 3. Run `docker info` to view the current state of the swarm: - ``` - $ docker info + ```bash + $ docker info - Containers: 2 - Running: 0 - Paused: 0 - Stopped: 2 - ...snip... - Swarm: active + Containers: 2 + Running: 0 + Paused: 0 + Stopped: 2 + ...snip... + Swarm: active NodeID: dxn1zf6l61qsb1josjja83ngz Is Manager: true Managers: 1 Nodes: 1 CA Certificate Hash: sha256:b7986d3baeff2f5664dfe350eec32e2383539ec1a802ba541c4eb829056b5f61 - ...snip... - ``` + ...snip... + ``` 4. Run the `docker node ls` command to view information about nodes: - ``` + ```bash $ docker node ls ID HOSTNAME MEMBERSHIP STATUS AVAILABILITY MANAGER STATUS LEADER @@ -74,11 +82,11 @@ node. For example, the tutorial uses a machine named `manager1`. ``` - The `*` next to the node id, indicates that you're currently connected on - this node. + The `*` next to the node id indicates that you're currently connected on + this node. - Docker Engine swarm mode automatically names the node for the machine host - name. The tutorial covers other columns in later steps. + Docker Engine swarm mode automatically names the node for the machine host + name. The tutorial covers other columns in later steps. ## What's next?