@@ -8,10 +8,27 @@ non-stop since June 2015.
88
99## Content
1010
11- - Chapter 1: Getting Started: running apps with docker-compose
12- - Chapter 2: Scaling out with Swarm Mode
13- - Chapter 3: Operating the Swarm (networks, updates, logging, metrics)
14- - Chapter 4: Deeper in Swarm (stateful services, scripting, DAB's)
11+ The workshop introduces a demo app, "DockerCoins," built
12+ around a micro-services architecture. First, we run it
13+ on a single node, using Docker Compose. Then, we pretend
14+ that we need to scale it, and we use an orchestrator
15+ (SwarmKit or Kubernetes) to deploy and scale the app on
16+ a cluster.
17+
18+ We explain the concepts of the orchestrator. For SwarmKit,
19+ we setup the cluster with ` docker swarm init ` and ` docker swarm join ` .
20+ For Kubernetes, we use pre-configured clusters.
21+
22+ Then, we cover more advanced concepts: scaling, load balancing,
23+ updates, global services or daemon sets.
24+
25+ There are a number of advanced optional chapters about
26+ logging, metrics, secrets, network encryption, etc.
27+
28+ The content is very modular: it is broken down in a large
29+ number of Markdown files, that are put together according
30+ to a YAML manifest. This allows to re-use content
31+ between different workshops very easily.
1532
1633
1734## Quick start (or, "I want to try it!")
@@ -32,8 +49,8 @@ own cluster, we have multiple solutions for you!
3249
3350### Using [ play-with-docker] ( http://play-with-docker.com/ )
3451
35- This method is very easy to get started ( you don't need any extra account
36- or resources!) but will require a bit of adaptation from the workshop slides .
52+ This method is very easy to get started: you don't need any extra account
53+ or resources! It works only for the SwarmKit version of the workshop, though .
3754
3855To get started, go to [ play-with-docker] ( http://play-with-docker.com/ ) , and
3956click on _ ADD NEW INSTANCE_ five times. You will get five "docker-in-docker"
@@ -44,31 +61,9 @@ the tab corresponding to that node.
4461
4562The nodes are not directly reachable from outside; so when the slides tell
4663you to "connect to the IP address of your node on port XYZ" you will have
47- to use a different method.
48-
49- We suggest to use "supergrok", a container offering a NGINX+ngrok combo to
50- expose your services. To use it, just start (on any of your nodes) the
51- ` jpetazzo/supergrok ` image. The image will output further instructions:
52-
53- ```
54- docker run --name supergrok -d jpetazzo/supergrok
55- docker logs --follow supergrok
56- ```
57-
58- The logs of the container will give you a tunnel address and explain you
59- how to connected to exposed services. That's all you need to do!
60-
61- We are also working on a native proxy, embedded to Play-With-Docker.
62- Stay tuned!
63-
64- <!--
65-
66- - You can use a proxy provided by Play-With-Docker. When the slides
67- instruct you to connect to nodeX on port ABC, instead, you will connect
68- to http://play-with-docker.com/XXX.XXX.XXX.XXX:ABC, where XXX.XXX.XXX.XXX
69- is the IP address of nodeX.
70-
71- -->
64+ to use a different method: click on the port number that should appear on
65+ top of the play-with-docker window. This only works for HTTP services,
66+ though.
7267
7368Note that the instances provided by Play-With-Docker have a short lifespan
7469(a few hours only), so if you want to do the workshop over multiple sessions,
@@ -119,14 +114,16 @@ check the [prepare-vms](prepare-vms) directory for more information.
119114## Slide Deck
120115
121116- The slides are in the ` docs ` directory.
122- - To view them locally open ` docs/index.html ` in your browser. It works
123- offline too.
124- - To view them online open https://jpetazzo.github.io/orchestration-workshop/
125- in your browser.
126- - When you fork this repo, be sure GitHub Pages is enabled in repo Settings
127- for "master branch /docs folder" and you'll have your own website for them.
128- - They use https://remarkjs.com to allow simple markdown in a html file that
129- remark will transform into a presentation in the browser.
117+ - For each slide deck, there is a ` .yml ` file referencing ` .md ` files.
118+ - The ` .md ` files contain Markdown snippets.
119+ - When you run ` build.sh once ` , it will "compile" all the ` .yml ` files
120+ into ` .yml.html ` files that you can open in your browser.
121+ - You can also run ` build.sh forever ` , which will watch the directory
122+ and rebuild slides automatically when files are modified.
123+ - If needed, you can fine-tune ` workshop.css ` and ` workshop.html `
124+ (respectively the CSS style used, and the boilerplate template).
125+ - The slides use https://remarkjs.com to render Markdown into HTML in
126+ a web browser.
130127
131128
132129## Sample App: Dockercoins!
@@ -181,7 +178,7 @@ want to become an instructor), keep reading!*
181178 they need for class.
182179- Typically you create the servers the day before or morning of workshop, and
183180 leave them up the rest of day after workshop. If creating hundreds of servers,
184- you'll likely want to run all these ` trainer ` commands from a dedicated
181+ you'll likely want to run all these ` workshopctl ` commands from a dedicated
185182 instance you have in same region as instances you want to create. Much faster
186183 this way if you're on poor internet. Also, create 2 sets of servers for
187184 yourself, and use one during workshop and the 2nd is a backup.
@@ -203,7 +200,7 @@ want to become an instructor), keep reading!*
203200
204201### Creating the VMs
205202
206- ` prepare-vms/trainer ` is the script that gets you most of what you need for
203+ ` prepare-vms/workshopctl ` is the script that gets you most of what you need for
207204setting up instances. See
208205[ prepare-vms/README.md] ( prepare-vms )
209206for all the info on tools and scripts.
0 commit comments