Compare commits

..

1 Commits

Author SHA1 Message Date
Jerome Petazzoni
c97d7faa40 paris.container.training 2018-03-07 12:51:03 -08:00
17 changed files with 48 additions and 80 deletions

View File

@@ -1,24 +1,19 @@
Checklist to use when delivering a workshop
Authored by Jérôme; additions by Bridget
This is the checklist that I (Jérôme) use when delivering a workshop.
- [ ] 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
- [ ] Create branch + `_redirects` + push to GitHub + Netlify setup
- [ ] Add branch to index.html
- [ ] Update the slides that says which versions we are using
- [ ] Update the version of Compose and Machine in settings
- [ ] Create chatroom
- [ ] Set chatroom in YML and deploy
- [ ] Put chat room in index.html
- [ ] Walk the room to count seats, check power supplies, lectern, A/V setup
- [ ] How many VMs do we need?
- [ ] Provision VMs
- [ ] Print cards
- [ ] Cut cards
- [ ] Last-minute merge from master
- [ ] Last minute merge from master
- [ ] Check that all looks good
- [ ] DELIVER!
- [ ] Shut down VMs
- [ ] Shutdown VMs
- [ ] Update index.html to remove chat link and move session to past things

View File

@@ -132,7 +132,7 @@ _cmd_kube() {
sudo apt-key add - &&
echo deb http://apt.kubernetes.io/ kubernetes-xenial main |
sudo tee /etc/apt/sources.list.d/kubernetes.list"
pssh --timeout 200 "
pssh "
sudo apt-get update -q &&
sudo apt-get install -qy kubelet kubeadm kubectl
kubectl completion bash | sudo tee /etc/bash_completion.d/kubectl"
@@ -177,9 +177,7 @@ _cmd_kubetest() {
# Feel free to make that better ♥
pssh "
set -e
[ -f /tmp/node ]
if grep -q node1 /tmp/node; then
which kubectl
for NODE in \$(awk /\ node/\ {print\ \\\$2} /etc/hosts); do
echo \$NODE ; kubectl get nodes | grep -w \$NODE | grep -w Ready
done

View File

@@ -1 +1 @@
/ /kube-halfday.yml.html 200!
/* http://paris-container-training.netlify.com/:splat 200!

View File

@@ -64,37 +64,27 @@
<table>
<tr><td class="header" colspan="4">Container Training</td></tr>
<tr><td class="title" colspan="4">Coming soon near you</td></tr>
<tr><td class="title" colspan="4">Coming soon at a conference near you</td></tr>
<tr>
<!--
<td>Nothing for now (stay tuned...)</td>
thing for now (stay tuned...)</td>
-->
<td>March 14, 2018: Boosterconf — Kubernetes 101</td>
<td>&nbsp;</td>
<td><a class="attend" href="https://2018.boosterconf.no/talks/1179" />
</tr>
<tr>
<td>March 27, 2018: SREcon Americas — Kubernetes 101</td>
<td><a class="slides" href="http://srecon2018.container.training/" /></td>
<td>&nbsp;</td>
<td><a class="attend" href="https://www.usenix.org/conference/srecon18americas/presentation/kromhout" />
</tr>
<tr>
<td>April 11-12, 2018: Introduction aux conteneurs (in French)</td>
<td>&nbsp;</td>
<td><a class="attend" href="http://paris.container.training/intro.html" />
</tr>
<tr>
<td>April 13, 2018: Introduction à l'orchestration (in French)</td>
<td>&nbsp;</td>
<td><a class="attend" href="http://paris.container.training/kube.html" />
</tr>
<tr><td class="title" colspan="4">Past workshops</td></tr>
<tr>
<td>Boosterconf: Kubernetes 101</td>
<td><a class="slides" href="http://boosterconf2018.container.training/" /></td>
</tr>
<tr>
<!-- February 22, 2018 -->
<td>IndexConf: Kubernetes 101</td>

View File

@@ -94,6 +94,8 @@ RUN apt-get update && apt-get install -y wget && apt-get clean
It is also possible to break a command onto multiple lines:
It is possible to execute multiple commands in a single step:
```dockerfile
RUN apt-get update \
&& apt-get install -y wget \

View File

@@ -434,7 +434,7 @@ When creating a network, extra options can be provided.
* `--internal` disables outbound traffic (the network won't have a default gateway).
* `--gateway` indicates which address to use for the gateway (when outbound traffic is allowed).
* `--gateway` indicates which address to use for the gateway (when utbound traffic is allowed).
* `--subnet` (in CIDR notation) indicates the subnet to use.

View File

@@ -128,7 +128,7 @@ $ docker run -d -p 8000:80 nginx
$ docker run -d -p 8080:80 -p 8888:80 nginx
```
* We are running three NGINX web servers.
* We are running two NGINX web servers.
* The first one is exposed on port 80.
* The second one is exposed on port 8000.
* The third one is exposed on ports 8080 and 8888.

View File

@@ -93,7 +93,7 @@ Success!
* Older Dockerfiles also have the `ADD` instruction.
<br/>It is similar but can automatically extract archives.
* If we really wanted to compile C code in a container, we would:
* If we really wanted to compile C code in a compiler, we would:
* Place it in a different directory, with the `WORKDIR` instruction.

View File

@@ -1,8 +1,7 @@
## A brief introduction
- This was initially written to support in-person, instructor-led workshops and tutorials
- These materials are maintained by [Jérôme Petazzoni](https://twitter.com/jpetazzo) and [multiple contributors](https://github.com/jpetazzo/container.training/graphs/contributors)
- This was initially written to support in-person,
instructor-led workshops and tutorials
- You can also follow along on your own, at your own pace

View File

@@ -1,17 +1,18 @@
title: |
Kubernetes 101
Deploying and Scaling Microservices
with Kubernetes
chat: "[SREcon slack #k8s_101](https://usenix-srecon.slack.com/messages/C9XR4F5NJ/) ([get invitation](http://sreconinvite.herokuapp.com/))"
#chat: "[Slack](https://dockercommunity.slack.com/messages/C7GKACWDV)"
#chat: "[Gitter](https://gitter.im/jpetazzo/workshop-yyyymmdd-city)"
#chat: "In person!"
chat: "In person!"
exclude:
- self-paced
chapters:
- common/title.md
- logistics-bridget.md
- logistics.md
- kube/intro.md
- common/about-slides.md
- common/toc.md
@@ -35,4 +36,4 @@ chapters:
- kube/rollout.md
- kube/whatsnext.md
- common/thankyou.md
- kube/links-bridget.md
- kube/links.md

View File

@@ -142,7 +142,7 @@ We all knew this couldn't be that easy, right!
- We could also tell Kubernetes to ignore these errors and try anyway
- The `--force` flag's actual name is `--validate=false`
- The `--force` flag actual name is `--validate=false`
.exercise[

View File

@@ -87,17 +87,6 @@ The goo.gl URL expands to:
## Connecting to the dashboard
.exercise[
- Check which port the dashboard is on:
```bash
kubectl -n kube-system get svc socat
```
]
You'll want the `3xxxx` port.
.exercise[
@@ -175,7 +164,7 @@ The dashboard will then ask you which authentication you want to use.
## Editing the `kubernetes-dashboard` service
- If we look at the [YAML](https://goo.gl/Qamqab) that we loaded before, we'll get a hint
- If we look at the YAML that we loaded just before, we'll get a hint
--
@@ -194,8 +183,6 @@ The dashboard will then ask you which authentication you want to use.
- Check the port that was assigned with `kubectl -n kube-system get services`
- Connect to https://oneofournodes:3xxxx/ (yes, https)
]
---

View File

@@ -1,9 +1,7 @@
## A brief introduction
- This was initially written by [Jérôme Petazzoni](https://twitter.com/jpetazzo) to support in-person,
- This was initially written to support in-person,
instructor-led workshops and tutorials
- Credit is also due to [multiple contributors](https://github.com/jpetazzo/container.training/graphs/contributors) — thank you!
- You can also follow along on your own, at your own pace

View File

@@ -59,7 +59,7 @@
[Docker4Mac](https://docs.docker.com/docker-for-mac/kubernetes/)
- If you want something customizable:
[kubicorn](https://github.com/kubicorn/kubicorn)
[kubicorn](https://github.com/kris-nova/kubicorn)
Probably the closest to a multi-cloud/hybrid solution so far, but in development

View File

@@ -1,7 +1,7 @@
## Versions installed
- Kubernetes 1.9.6 ([1.10 just came out](http://blog.kubernetes.io/2018/03/kubernetes-1.10-stabilizing-storage-security-networking.html)!)
- Docker Engine 18.03.0-ce
- Kubernetes 1.9.3
- Docker Engine 18.02.0-ce
- Docker Compose 1.18.0

View File

@@ -1,16 +1,16 @@
## Intros
- Hello! We are:
- .emoji[✨] Bridget ([@bridgetkromhout](https://twitter.com/bridgetkromhout))
- .emoji[🚂] Tanya ([@whereistanya](https://twitter.com/whereistanya))
- .emoji[🤖] Gabe ([@gabe_ochoa](https://twitter.com/gabe_ochoa))
- .emoji[🌟] Joe ([@joelaha](https://twitter.com/joelaha))
- The workshop will run from 2:00pm-5:30pm
- The workshop will run from 13:30-16:45
- There will be a break with refreshments from 3:30pm-4pm
- There will be a break from 15:00-15:15
- Feel free to interrupt for questions at any time
- Feel free to interrupt for questions at any time
- *Especially when you see full screen container pictures!*
- *Especially when you see full screen container pictures!*

View File

@@ -1,9 +1,7 @@
## A brief introduction
- This was initially written by [Jérôme Petazzoni](https://twitter.com/jpetazzo) to support in-person,
- This was initially written to support in-person,
instructor-led workshops and tutorials
- Over time, [multiple contributors](https://github.com/jpetazzo/container.training/graphs/contributors) also helped to improve these materials — thank you!
- You can also follow along on your own, at your own pace