Compare commits

...

6 Commits

Author SHA1 Message Date
Jerome Petazzoni
c42f2ecac9 fix-redirects.sh: adding forced redirect 2020-04-07 16:48:51 -05:00
Jerome Petazzoni
eea53e6c61 Merge branch 'jpetazzo-last-slide' into gotochgo2019 2019-04-22 07:42:59 -05:00
Jerome Petazzoni
4c5da9ed0d Update links to TSS material 2019-04-22 07:42:47 -05:00
Jerome Petazzoni
27b35bf0a4 Merge remote-tracking branch 'origin/jpetazzo-last-slide' into gotochgo2019 2019-04-22 07:38:43 -05:00
Jerome Petazzoni
62f64063c6 GOTO Chicago 2019 2019-04-22 07:37:12 -05:00
Jerome Petazzoni
6b9b83a7ae Add link to my private training intake form 2018-10-31 22:50:41 -05:00
6 changed files with 65 additions and 85 deletions

View File

@@ -1,4 +1,4 @@
# Uncomment and/or edit one of the the following lines if necessary.
#/ /kube-halfday.yml.html 200
#/ /kube-fullday.yml.html 200
/ /kube-fullday.yml.html 200!
#/ /kube-twodays.yml.html 200

View File

@@ -1,4 +1,4 @@
# Authentication and authorization
# Authentication and authorization (bonus)
*And first, a little refresher!*

View File

@@ -1,8 +1,8 @@
# Namespaces
- We cannot have two resources with the same name
- We would like to deploy multiple copies of our demo app
(Or can we...?)
- But we cannot have two resources with the same name ... Or can we ?
--
@@ -155,7 +155,7 @@
## Using our new namespace
- Let's check that we are in our new namespace, then deploy the DockerCoins chart
- Let's check that we are in our new namespace
.exercise[
@@ -164,21 +164,36 @@
kubectl get all
```
- Deploy DockerCoins:
```bash
helm install dockercoins
```
]
In the last command line, `dockercoins` is just the local path where
we created our Helm chart before.
---
## Deploying another copy of DockerCoins
- We will use YAML definitions from a GitHub repository:
https://github.com/jpetazzo/kubercoins
.exercise[
- Clone kubercoins:
```bash
https://github.com/jpetazzo/kubercoins
```
- Deploy it:
```bash
kubectl apply -f kubercoins
```
]
Note how `kubectl apply` can work on a whole directory!
---
## Viewing the deployed app
- Let's see if our Helm chart worked correctly!
- Let's see if this worked correctly!
.exercise[
@@ -195,45 +210,6 @@ If the graph shows up but stays at zero, check the next slide!
---
## Troubleshooting
If did the exercices from the chapter about labels and selectors,
the app that you just created may not work, because the `rng` service
selector has `enabled=yes` but the pods created by the `rng` daemon set
do not have that label.
How can we troubleshoot that?
- Query individual services manually
→ the `rng` service will time out
- Inspect the services with `kubectl describe service`
→ the `rng` service will have an empty list of backends
---
## Fixing the broken service
The easiest option is to add the `enabled=yes` label to the relevant pods.
.exercise[
- Add the `enabled` label to the pods of the `rng` daemon set:
```bash
kubectl label pods -l app=rng enabled=yes
```
]
The *best* option is to change either the service definition, or the
daemon set definition, so that their respective selectors match correctly.
*This is left as an exercise for the reader!*
---
## Namespaces and isolation
- Namespaces *do not* provide isolation

View File

@@ -1,14 +1,15 @@
title: |
Deploying and Scaling Microservices
with Kubernetes
Getting started with
Kubernetes and
container orchestration
#chat: "[Slack](https://dockercommunity.slack.com/messages/C7GKACWDV)"
#chat: "[Gitter](https://gitter.im/jpetazzo/workshop-yyyymmdd-city)"
chat: "In person!"
chat: "[Gitter](https://gitter.im/jpetazzo/workshop-20190428)"
#chat: "In person!"
gitrepo: github.com/jpetazzo/container.training
slides: http://container.training/
slides: http://gotochgo2019.container.training/
exclude:
- self-paced
@@ -28,8 +29,8 @@ chapters:
- k8s/concepts-k8s.md
- shared/declarative.md
- k8s/declarative.md
- - k8s/kubenet.md
- k8s/kubectlget.md
- k8s/kubenet.md
- - k8s/kubectlget.md
- k8s/setup-k8s.md
- k8s/kubectlrun.md
- k8s/kubectlexpose.md
@@ -40,22 +41,22 @@ chapters:
# - k8s/kubectlproxy.md
# - k8s/localkubeconfig.md
# - k8s/accessinternal.md
- k8s/dashboard.md
# - k8s/dashboard.md
# - k8s/kubectlscale.md
- k8s/scalingdockercoins.md
- shared/hastyconclusions.md
- k8s/daemonset.md
- - k8s/rollout.md
# - k8s/healthchecks.md
- k8s/logs-cli.md
- k8s/logs-centralized.md
# - k8s/logs-cli.md
# - k8s/logs-centralized.md
#- - k8s/helm.md
# - k8s/namespaces.md
# - k8s/netpol.md
# - k8s/authn-authz.md
- k8s/namespaces.md
- k8s/netpol.md
- k8s/authn-authz.md
#- - k8s/ingress.md
# - k8s/gitworkflows.md
- k8s/prometheus.md
# - k8s/prometheus.md
#- - k8s/volumes.md
# - k8s/build-with-docker.md
# - k8s/build-with-kaniko.md

View File

@@ -1,32 +1,16 @@
## Intros
- This slide should be customized by the tutorial instructor(s).
- Hello! We are:
- .emoji[👩🏻‍🏫] Ann O'Nymous ([@...](https://twitter.com/...), Megacorp Inc)
- .emoji[👨🏾‍🎓] Stu Dent ([@...](https://twitter.com/...), University of Wakanda)
<!-- .dummy[
- .emoji[👷🏻‍♀️] AJ ([@s0ulshake](https://twitter.com/s0ulshake), Travis CI)
- .emoji[🚁] Alexandre ([@alexbuisine](https://twitter.com/alexbuisine), Enix SAS)
- .emoji[🐳] Jérôme ([@jpetazzo](https://twitter.com/jpetazzo), Enix SAS)
- .emoji[⛵] Jérémy ([@jeremygarrouste](twitter.com/jeremygarrouste), Inpiwee)
- The workshop will run from 9am to 4pm
- .emoji[🎧] Romain ([@rdegez](https://twitter.com/rdegez), Enix SAS)
- There will be a lunch break at noon
] -->
- The workshop will run from ...
- There will be a lunch break at ...
(And coffee breaks!)
(And coffee breaks at 10:30am and 2:30pm)
- Feel free to interrupt for questions at any time

View File

@@ -9,3 +9,22 @@ class: title, in-person
That's all, folks! <br/> Questions?
![end](images/end.jpg)
---
## Final words
- You can find more content on http://container.training/
(More slides, videos, dates of upcoming workshops and tutorials...)
- This workshop is also available as longer training sessions:
- [two-day Kubernetes bootstrap](https://tinyshellscript.com/kubernetes-bootstrap.html)
- [four-day Kubernetes administrator training](https://tinyshellscript.com/kubernetes-ops-week.html)
- If you want me to train your team:
[contact me!](https://docs.google.com/forms/d/e/1FAIpQLScm2evHMvRU8C5ZK59l8FGsLY_Kkup9P_GHgjfByUMyMpMmDA/viewform)
.footnote[*Thank you!*]