From 65252904c986eabedb7597322e73495955a54102 Mon Sep 17 00:00:00 2001 From: Jerome Petazzoni Date: Tue, 17 May 2016 08:47:59 -0700 Subject: [PATCH] Last updates before OSCON --- www/htdocs/index.html | 156 +++++++++++++++++++----------- www/htdocs/registry-frontends.png | Bin 0 -> 60357 bytes 2 files changed, 102 insertions(+), 54 deletions(-) create mode 100644 www/htdocs/registry-frontends.png diff --git a/www/htdocs/index.html b/www/htdocs/index.html index f53bf9e2..cbc8421f 100644 --- a/www/htdocs/index.html +++ b/www/htdocs/index.html @@ -1015,13 +1015,12 @@ You shouldn't see any container running on `node2` at this point. docker-compose up -d ``` -- Check that it's running: - ```bash - docker-compose ps - ``` - ] +Note: this will build the container images on `node2`, resulting +in potentially different results from `node1`. We will see later +how to use the same images across the whole cluster. + --- ## Run the application on every node @@ -1043,8 +1042,7 @@ You shouldn't see any container running on `node2` at this point. ] -Note: building the stack everywhere is not optimal. We will see later -how to build once, and deploy the same build everywhere. +Note: again, this will rebuild the container images on each node. --- @@ -1711,19 +1709,19 @@ Swarm identifies itself clearly: ``` Client: - Version: 1.10.2 - API version: 1.22 - Go version: go1.5.3 - Git commit: c3959b1 - Built: Mon Feb 22 21:40:35 2016 + Version: 1.11.1 + API version: 1.23 + Go version: go1.5.4 + Git commit: 5604cbe + Built: Tue Apr 26 23:38:55 2016 OS/Arch: linux/amd64 Server: - Version: swarm/1.1.3 + Version: swarm/1.2.2 API version: 1.22 - Go version: go1.5.3 - Git commit: 7e9c6bd - Built: Wed Mar 2 00:15:12 UTC 2016 + Go version: go1.5.4 + Git commit: 34e3da3 + Built: Mon May 9 17:03:22 UTC 2016 OS/Arch: linux/amd64 ``` @@ -1731,8 +1729,36 @@ Server: ## `docker info` -FIXME +The output of `docker info` on Swarm shows a number of differences from +the output on a single Engine: +.small[ +``` +Containers: 0 + Running: 0 + Paused: 0 + Stopped: 0 +Images: 0 +Server Version: swarm/1.2.2 +Role: primary +Strategy: spread +Filters: health, port, containerslots, dependency, affinity, constraint +Nodes: 0 +Plugins: + Volume: + Network: +Kernel Version: 4.2.0-36-generic +Operating System: linux +Architecture: amd64 +CPUs: 0 +Total Memory: 0 B +Name: node1 +Docker Root Dir: +Debug mode (client): false +Debug mode (server): false +WARNING: No kernel memory limit support +``` +] --- ## Why zero node? @@ -1922,6 +1948,21 @@ On a cluster of 5 nodes with ~3.8 GB of RAM per node, Swarm will refuse to start --- +## Removing our Redis containers + +- Let's use a little bit of shell scripting + +.exercise[ + +- Remove all containers using the redis image: + ```bash + docker ps | awk '/redis/ {print $1}' | xargs docker rm -f + ``` + +] + +--- + ## Things to know about resource allocation - `docker info` shows resource allocation for each node @@ -1980,8 +2021,8 @@ On a cluster of 5 nodes with ~3.8 GB of RAM per node, Swarm will refuse to start - Create two networks, *blue* and *green*: ```bash - docker network create --driver overlay blue - docker network create --driver overlay green + docker network create blue + docker network create green docker network ls ``` @@ -2002,7 +2043,7 @@ On a cluster of 5 nodes with ~3.8 GB of RAM per node, Swarm will refuse to start .exercise[ -- Check that our containers are on different networks: +- Check that our containers are on different nodes: ```bash docker ps @@ -2079,10 +2120,8 @@ On a cluster of 5 nodes with ~3.8 GB of RAM per node, Swarm will refuse to start - Resolve the `things` alias from both networks: ```bash - docker run --rm --net blue alpine sh -c \ - "apk add --update drill && drill things" - docker run --rm --net green alpine sh -c \ - "apk add --update drill && drill things" + docker run --rm --net blue alpine nslookup things + docker run --rm --net green alpine nslookup things ``` ] @@ -2116,7 +2155,6 @@ On a cluster of 5 nodes with ~3.8 GB of RAM per node, Swarm will refuse to start (its original network): ```bash docker network disconnect blue turquoise - docker network connect green turquoise ``` - Check connectivity: @@ -2367,6 +2405,12 @@ If we wanted to use DTR, we would: --- +## Registry frontends and backend + +![Registry frontends](registry-frontends.png) + +--- + # Deploying a local registry - There is a Compose file for that @@ -2594,7 +2638,9 @@ Copy-paste this into `docker-compose.yml` ] -We will hit the same bottleneck as before. +Check that workers are on different nodes. + +However, we hit the same bottleneck as before. How can we address that? @@ -2693,8 +2739,9 @@ First, we need to put the POST payload in a temporary file. .exercise[ -- Generate 10 bytes of random data: +- Install curl in the container, and generate 10 bytes of random data: ```bash + apk add curl curl http://rng/10 >/tmp/random ``` @@ -2831,6 +2878,11 @@ WHY?!? .exercise[ +- Restart the `worker` service: + ```bash + docker-compose start worker + ``` + - Scale the `rng` service: ```bash docker-compose scale rng=5 @@ -3044,13 +3096,13 @@ Load-balanced DockerCoins - See that `worker` is complaining: ```bash - docker-compose logs worker + docker-compose logs --tail 100 --follow worker ``` ] --- -## Configure the load balancer +## Add one backend to the load balancer - Multiple solutions: @@ -3073,27 +3125,7 @@ The application should now be working correctly. --- -## Scale the application - -- Use `docker-compose scale` as planned - -.exercise[ - -- Scale `rng`: - ```bash - docker-compose scale rng=10 - ``` - -] - -Of course, the graph doesn't change *yet*. - -We need to add the new backends to the load balancer -configuration first. - ---- - -## Reconfigure the load balancer +## Add all backends to the load balancer - The command is similar to the one before @@ -3107,7 +3139,7 @@ configuration first. --volumes-from dockercoins_rng-lb_1 \ --net container:dockercoins_rng-lb_1 \ jpetazzo/hamba reconfigure 80 \ - $(for N in $(seq 1 10); do + $(for N in $(seq 1 5); do echo dockercoins_rng_$N:80 done) ``` @@ -3398,6 +3430,7 @@ What we will do: - Start the ELK stack: ```bash + unset COMPOSE_FILE docker-compose up -d ``` @@ -3534,6 +3567,23 @@ in the output. --- +## Switching back to the DockerCoins application + +.exercise[ + +- Go back to the dockercoins directory: + ```bash + cd ~/orchestration-workshop/dockercoins + ``` + +- Set the `COMPOSE_FILE` variable: + ```bash + export COMPOSE_FILE=docker-compose.yml-`NNN` + ``` + +] + +--- ## Add the logging driver to the Compose file - We need to add the logging section to each container @@ -3796,8 +3846,6 @@ More resources on this topic: - network creation/destruction - connection/disconnection of containers -(Networks will be covered a bit later!) - --- ## Subscribing to the events stream @@ -4566,7 +4614,7 @@ class: title - Tracking access to credentials and sensitive information (see Vault, Keywhiz...) -- ... +- ... (tell me what I should cover in future workshops!) ... --- diff --git a/www/htdocs/registry-frontends.png b/www/htdocs/registry-frontends.png new file mode 100644 index 0000000000000000000000000000000000000000..152b8151ed4738109ebe96ca97af2e6b0fa14d9f GIT binary patch literal 60357 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 literal 0 HcmV?d00001