diff --git a/CHECKLIST.md b/CHECKLIST.md new file mode 100644 index 00000000..0038de59 --- /dev/null +++ b/CHECKLIST.md @@ -0,0 +1,24 @@ +Checklist to use when delivering a workshop +Authored by Jérôme; additions by Bridget + +- [ ] Create event-named branch (such as `conferenceYYYY`) in the [main repo](https://github.com/jpetazzo/container.training/) + - [ ] Create file `slides/_redirects` containing a link to the desired tutorial: `/ /kube-halfday.yml.html 200` + - [ ] Push local branch to GitHub and merge into main repo + - [ ] [Netlify setup](https://app.netlify.com/sites/container-training/settings/domain): create subdomain for event-named branch +- [ ] Add link to event-named branch to [container.training front page](https://github.com/jpetazzo/container.training/blob/master/slides/index.html) +- [ ] Update the slides that says which versions we are using for [kube](https://github.com/jpetazzo/container.training/blob/master/slides/kube/versions-k8s.md) or [swarm](https://github.com/jpetazzo/container.training/blob/master/slides/swarm/versions.md) workshops +- [ ] Update the version of Compose and Machine in [settings](https://github.com/jpetazzo/container.training/tree/master/prepare-vms/settings) +- [ ] (optional) Create chatroom +- [ ] (optional) Set chatroom in YML ([kube half-day example](https://github.com/jpetazzo/container.training/blob/master/slides/kube-halfday.yml#L6-L8)) and deploy +- [ ] (optional) Put chat link on [container.training front page](https://github.com/jpetazzo/container.training/blob/master/slides/index.html) +- [ ] How many VMs do we need? Check with event organizers ahead of time +- [ ] Provision VMs (slightly more than we think we'll need) +- [ ] Change password on presenter's VMs (to forestall any hijinx) +- [ ] Onsite: walk the room to count seats, check power supplies, lectern, A/V setup +- [ ] Print cards +- [ ] Cut cards +- [ ] Last-minute merge from master +- [ ] Check that all looks good +- [ ] DELIVER! +- [ ] Shut down VMs +- [ ] Update index.html to remove chat link and move session to past things diff --git a/prepare-vms/README.md b/prepare-vms/README.md index 818ebd4c..33d367ef 100644 --- a/prepare-vms/README.md +++ b/prepare-vms/README.md @@ -116,7 +116,7 @@ wrap Run this program in a container - Optional: - Choose a name for the workshop (default is "workshop") - Choose the number of instances (default is 3) - - Customize the desired instance size (default is Standard_D2_v3) + - Customize the desired instance size (default is Standard_D1_v2) - Launch instances with your chosen resource group name and your preferred region; the examples are "workshop" and "eastus": ``` az group create --name workshop --location eastus diff --git a/prepare-vms/azuredeploy.json b/prepare-vms/azuredeploy.json index 560212c1..74dc620c 100644 --- a/prepare-vms/azuredeploy.json +++ b/prepare-vms/azuredeploy.json @@ -60,7 +60,7 @@ }, "vmSize": { "type": "string", - "defaultValue": "Standard_D2_v3", + "defaultValue": "Standard_D1_v2", "metadata": { "description": "VM Size." } diff --git a/prepare-vms/azuredeploy.parameters.json b/prepare-vms/azuredeploy.parameters.json index 51f7edae..81058ffb 100644 --- a/prepare-vms/azuredeploy.parameters.json +++ b/prepare-vms/azuredeploy.parameters.json @@ -12,7 +12,7 @@ "value": 3 }, "vmSize": { - "value": "Standard_D2_v3" + "value": "Standard_D1_v2" } } } diff --git a/slides/common/prereqs.md b/slides/common/prereqs.md index bbc190bc..cc2d17aa 100644 --- a/slides/common/prereqs.md +++ b/slides/common/prereqs.md @@ -70,7 +70,7 @@ Misattributed to Benjamin Franklin - Go to [container.training](http://container.training/) to view these slides -- Join the chat room on @@CHAT@@ +- Join the chat room: @@CHAT@@ diff --git a/slides/common/thankyou.md b/slides/common/thankyou.md index 0b18b64f..e383865f 100644 --- a/slides/common/thankyou.md +++ b/slides/common/thankyou.md @@ -6,6 +6,6 @@ Thank you! class: title, in-person -That's all folks!
Questions? +That's all, folks!
Questions? ![end](images/end.jpg) diff --git a/slides/kube/links-bridget.md b/slides/kube/links-bridget.md new file mode 100644 index 00000000..1c9601da --- /dev/null +++ b/slides/kube/links-bridget.md @@ -0,0 +1,17 @@ +# Links and resources + +- [Kubernetes Community](https://kubernetes.io/community/) - Slack, Google Groups, meetups + +- [Kubernetes on StackOverflow](https://stackoverflow.com/questions/tagged/kubernetes) + +- [Play With Kubernetes Hands-On Labs](https://medium.com/@marcosnils/introducing-pwk-play-with-k8s-159fcfeb787b) + +- [Azure Container Service](https://docs.microsoft.com/azure/aks/) + +- [Cloud Developer Advocates](https://developer.microsoft.com/advocates/) + +- [Local meetups](https://www.meetup.com/) + +- [devopsdays](https://www.devopsdays.org/) + +.footnote[These slides (and future updates) are on → http://container.training/] diff --git a/slides/kube/links.md b/slides/kube/links.md index 35a25f05..2a54ed54 100644 --- a/slides/kube/links.md +++ b/slides/kube/links.md @@ -1,17 +1,3 @@ -class: title, self-paced - -Thank you! - ---- - -class: title, in-person - -That's all folks!
Questions? - -![end](images/end.jpg) - ---- - # Links and resources All things Kubernetes: diff --git a/slides/kube/ourapponkube.md b/slides/kube/ourapponkube.md index f2ec887d..e19227f5 100644 --- a/slides/kube/ourapponkube.md +++ b/slides/kube/ourapponkube.md @@ -185,6 +185,7 @@ The curl command should now output: - Build and push the images: ```bash export REGISTRY + export TAG=v0.1 docker-compose -f dockercoins.yml build docker-compose -f dockercoins.yml push ``` @@ -220,6 +221,30 @@ services: --- +class: extra-details + +## Avoiding the `latest` tag + +.warning[Make sure that you've set the `TAG` variable properly!] + +- If you don't, the tag will default to `latest` + +- The problem with `latest`: nobody knows what it points to! + + - the latest commit in the repo? + + - the latest commit in some branch? (Which one?) + + - the latest tag? + + - some random version pushed by a random team member? + +- If you keep pushing the `latest` tag, how do you roll back? + +- Image tags should be meaningful, i.e. correspond to code branches, tags, or hashes + +--- + ## Deploying all the things - We can now deploy our code (as well as a redis instance) @@ -234,7 +259,7 @@ services: - Deploy everything else: ```bash for SERVICE in hasher rng webui worker; do - kubectl run $SERVICE --image=$REGISTRY/$SERVICE + kubectl run $SERVICE --image=$REGISTRY/$SERVICE:$TAG done ``` @@ -268,7 +293,7 @@ services: --- -# Exposing services internally +# Exposing services internally - Three deployments need to be reachable by others: `hasher`, `redis`, `rng` diff --git a/slides/kube/rollout.md b/slides/kube/rollout.md index 21e25898..10a49913 100644 --- a/slides/kube/rollout.md +++ b/slides/kube/rollout.md @@ -149,7 +149,7 @@ Our rollout is stuck. However, the app is not dead (just 10% slower). - We want to: - - revert to `v0.1` (which we now realize we didn't tag - yikes!) + - revert to `v0.1` - be conservative on availability (always have desired number of available workers) - be aggressive on rollout speed (update more than one pod at a time) - give some time to our workers to "warm up" before starting more @@ -163,7 +163,7 @@ spec: spec: containers: - name: worker - image: $REGISTRY/worker:latest + image: $REGISTRY/worker:v0.1 strategy: rollingUpdate: maxUnavailable: 0 @@ -192,7 +192,7 @@ spec: spec: containers: - name: worker - image: $REGISTRY/worker:latest + image: $REGISTRY/worker:v0.1 strategy: rollingUpdate: maxUnavailable: 0 diff --git a/slides/logistics-bridget.md b/slides/logistics-bridget.md new file mode 100644 index 00000000..9a4f38bb --- /dev/null +++ b/slides/logistics-bridget.md @@ -0,0 +1,16 @@ +## Intros + + - Hello! We are: + + - .emoji[✨] Bridget ([@bridgetkromhout](https://twitter.com/bridgetkromhout)) + + - .emoji[🌟] Joe ([@joelaha](https://twitter.com/joelaha)) + +- The workshop will run from 13:30-16:45 + +- There will be a break from 15:00-15:15 + +- Feel free to interrupt for questions at any time + +- *Especially when you see full screen container pictures!* +