From 1d02ddf27126d75f65fe7ab30c9063a5cad0c73b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Petazzoni?= Date: Thu, 29 Sep 2016 00:25:36 +0200 Subject: [PATCH] Mess up with whitespace, because I am OCD like that --- README.md | 106 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 56 insertions(+), 50 deletions(-) diff --git a/README.md b/README.md index ad01c5f7..72c903e0 100644 --- a/README.md +++ b/README.md @@ -15,12 +15,14 @@ at multiple conferences and events like: - Container Solutions, Amsterdam (2016, February) ## Content + - Chapter 1: Getting Started: running apps with docker-compose - Chapter 2: Scaling out with Swarm Mode - Chapter 3: Operating the Swarm (networks, updates, logging) - Chapter 4: Deeper in Swarm (stateful services, scripting, DAB's) ## How This Repo is Organized + - **dockercoins** - Sample App: compose files and source code for the dockercoins sample apps used throughout the workshop @@ -34,15 +36,16 @@ at multiple conferences and events like: - scripts for automating the creation of AWS instances for students ## Slide Deck + - The slides are in the `docs` directory. - To view them locally open `docs/index.html` in your browser. It works -offline too. + offline too. - To view them online open https://jpetazzo.github.io/orchestration-workshop/ -in your browser. + in your browser. - When you fork this repo, be sure GitHub Pages is enabled in repo Settings -for "master branch /docs folder" and you'll have your own website for them. + for "master branch /docs folder" and you'll have your own website for them. - They use https://remarkjs.com to allow simple markdown in a html file that -remark will transform into a presentation in the browser. + remark will transform into a presentation in the browser. ## Sample App: Dockercoins! @@ -60,53 +63,54 @@ To see it in action: ### General timeline of planning a workshop - Fork repo and run through slides, doing the hands-on to be sure you -understand the different `dockercoins` repo's and the steps we go through to -get to a full Swarm Mode cluster of many containers. You'll update the first -few slides and last slide at a minimum, with your info. + understand the different `dockercoins` repo's and the steps we go through to + get to a full Swarm Mode cluster of many containers. You'll update the first + few slides and last slide at a minimum, with your info. - Your docs directory can use GitHub Pages. - This workshop expects 5 servers per student. You can get away with as little -as 2 servers per student, but you'll need to change the slide deck to -accommodate. More servers = more fun. + as 2 servers per student, but you'll need to change the slide deck to + accommodate. More servers = more fun. - If you have more then ~20 students, try to get an assistant (TA) to help -people with issues, so you don't have to stop the workshop to help someone -with ssh etc. + people with issues, so you don't have to stop the workshop to help someone + with ssh etc. - AWS is our most tested process for generating student machines. In -`prepare-vms` you'll find scripts to create EC2 instances, install docker, -pre-pull images, and even print "cards" to place at each students seat with -IP's and username/password. + `prepare-vms` you'll find scripts to create EC2 instances, install docker, + pre-pull images, and even print "cards" to place at each students seat with + IP's and username/password. - Test AWS Scripts: Be sure to test creating *all* your needed servers a week -before workshop (just for a few minutes). You'll likely hit AWS limits in the -region closest to your class, and it sometimes takes days to get AWS to raise -those limits with a support ticket. + before workshop (just for a few minutes). You'll likely hit AWS limits in the + region closest to your class, and it sometimes takes days to get AWS to raise + those limits with a support ticket. - Create a https://gitter.im chat room for your workshop and update slides -with url. Also useful for TA to monitor this during workshop. You can use it -before/after to answer questions, and generally works as a better answer then -"email me that question". + with url. Also useful for TA to monitor this during workshop. You can use it + before/after to answer questions, and generally works as a better answer then + "email me that question". - If you can send an email to students ahead of time, mention how they should -get SSH, and test that SSH works. If they can `ssh github.com` and get -`permission denied (publickey)` then they know it worked, and SSH is properly -installed and they don't have anything blocking it. SSH and a browser are all -they need for class. + get SSH, and test that SSH works. If they can `ssh github.com` and get + `permission denied (publickey)` then they know it worked, and SSH is properly + installed and they don't have anything blocking it. SSH and a browser are all + they need for class. - Typically you create the servers the day before or morning of workshop, and -leave them up the rest of day after workshop. If creating hundreds of servers, -you'll likely want to run all these `trainer` commands from a dedicated -instance you have in same region as instances you want to create. Much faster -this way if you're on poor internet. Also, create 2 sets of servers for -yourself, and use one during workshop and the 2nd is a backup. + leave them up the rest of day after workshop. If creating hundreds of servers, + you'll likely want to run all these `trainer` commands from a dedicated + instance you have in same region as instances you want to create. Much faster + this way if you're on poor internet. Also, create 2 sets of servers for + yourself, and use one during workshop and the 2nd is a backup. - Remember you'll need to print the "cards" for students, so you'll need to -create instances while you have a way to print them. + create instances while you have a way to print them. ### Things That Could Go Wrong - - Creating AWS instances ahead of time, and you hit its limits in region and - didn't plan enough time to wait on support to increase your limits. :( - - Students have technical issues during workshop. Can't get ssh working, - locked-down computer, host firewall, etc. - - Horrible wifi, or ssh port TCP/22 not open on network! If wifi sucks you - can try using MOSH https://mosh.org which handles SSH over UDP. TMUX can also - prevent you from loosing your place if you get disconnected from servers. - https://tmux.github.io - - Forget to print "cards" and cut them up for handing out IP's. - - Forget to have fun and focus on your students! + +- Creating AWS instances ahead of time, and you hit its limits in region and + didn't plan enough time to wait on support to increase your limits. :( +- Students have technical issues during workshop. Can't get ssh working, + locked-down computer, host firewall, etc. +- Horrible wifi, or ssh port TCP/22 not open on network! If wifi sucks you + can try using MOSH https://mosh.org which handles SSH over UDP. TMUX can also + prevent you from loosing your place if you get disconnected from servers. + https://tmux.github.io +- Forget to print "cards" and cut them up for handing out IP's. +- Forget to have fun and focus on your students! ### Creating the VMs @@ -124,25 +128,27 @@ add something like `(EXTRA CREDIT)` to title so students can still view the content but you also know to skip during presentation. #### 3 Hour Version - - Limit time on debug tools, maybe skip a few. *"Chapter 1: + +- Limit time on debug tools, maybe skip a few. *"Chapter 1: Identifying bottlenecks"* - - Limit time on Compose, try to have them building the Swarm Mode by 30 +- Limit time on Compose, try to have them building the Swarm Mode by 30 minutes in - - Skip most of Chapter 3, Centralized Logging and ELK - - Skip most of Chapter 4, but keep stateful services and DAB's if possible - - Mention what DAB's are, but make this part optional in case you run out +- Skip most of Chapter 3, Centralized Logging and ELK +- Skip most of Chapter 4, but keep stateful services and DAB's if possible +- Mention what DAB's are, but make this part optional in case you run out of time #### 2 Hour Version - - Skip all the above, and: - - Skip the story arc of debugging dockercoins all together, skipping the + +- Skip all the above, and: +- Skip the story arc of debugging dockercoins all together, skipping the troubleshooting tools. Just focus on getting them from single-host to multi-host and multi-container. - - Goal is first 30min on intro and Docker Compose and what dockercoins is, +- Goal is first 30min on intro and Docker Compose and what dockercoins is, and getting it up on one node in docker-compose. - - Next 60-75 minutes is getting dockercoins in Swarm Mode services across +- Next 60-75 minutes is getting dockercoins in Swarm Mode services across servers. Big Win. - - Last 15-30 minutes is for stateful services, DAB files, and questions. +- Last 15-30 minutes is for stateful services, DAB files, and questions. # Problems? Bugs? Questions?