mirror of
https://github.com/jpetazzo/container.training.git
synced 2026-05-06 08:56:35 +00:00
One more round of updates for dc17eu
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
exclude:
|
||||
- self-paced
|
||||
- snap
|
||||
- auto-btp
|
||||
- benchmarking
|
||||
|
||||
chapters:
|
||||
- |
|
||||
@@ -108,11 +110,11 @@ chapters:
|
||||
- netshoot.md
|
||||
- ipsec.md
|
||||
- swarmtools.md
|
||||
- - security.md
|
||||
- security.md
|
||||
- secrets.md
|
||||
- leastprivilege.md
|
||||
- apiscope.md
|
||||
- logging.md
|
||||
- - logging.md
|
||||
- metrics.md
|
||||
- stateful.md
|
||||
- extratips.md
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
class: netshoot, extra-details
|
||||
class: extra-details
|
||||
|
||||
## Troubleshooting overlay networks
|
||||
|
||||
@@ -14,20 +14,18 @@ class: netshoot, extra-details
|
||||
|
||||
--
|
||||
|
||||
class: netshoot, extra-details
|
||||
class: extra-details
|
||||
|
||||
- Ah, if only we had created our overlay network with the `--attachable` flag ...
|
||||
|
||||
--
|
||||
|
||||
class: netshoot, extra-details
|
||||
class: extra-details
|
||||
|
||||
- Oh well, let's use this as an excuse to introduce New Ways To Do Things
|
||||
|
||||
---
|
||||
|
||||
class: netshoot
|
||||
|
||||
# Breaking into an overlay network
|
||||
|
||||
- We will create a dummy placeholder service on our network
|
||||
@@ -48,8 +46,6 @@ The `constraint` makes sure that the container will be created on the local node
|
||||
|
||||
---
|
||||
|
||||
class: netshoot
|
||||
|
||||
## Entering the debug container
|
||||
|
||||
- Once our container is started (which should be really fast because the alpine image is small), we can enter it (from any node)
|
||||
@@ -70,8 +66,6 @@ class: netshoot
|
||||
|
||||
---
|
||||
|
||||
class: netshoot
|
||||
|
||||
## Labels
|
||||
|
||||
- We can also be fancy and find the ID of the container automatically
|
||||
@@ -94,8 +88,6 @@ class: netshoot
|
||||
|
||||
---
|
||||
|
||||
class: netshoot
|
||||
|
||||
## Installing our debugging tools
|
||||
|
||||
- Ideally, you would author your own image, with all your favorite tools, and use it instead of the base `alpine` image
|
||||
@@ -113,8 +105,6 @@ class: netshoot
|
||||
|
||||
---
|
||||
|
||||
class: netshoot
|
||||
|
||||
## Investigating the `rng` service
|
||||
|
||||
- First, let's check what `rng` resolves to
|
||||
@@ -133,8 +123,6 @@ It is a virtual IP address (VIP) for the `rng` service.
|
||||
|
||||
---
|
||||
|
||||
class: netshoot
|
||||
|
||||
## Investigating the VIP
|
||||
|
||||
.exercise[
|
||||
@@ -158,8 +146,6 @@ backend is available anywhere.
|
||||
|
||||
---
|
||||
|
||||
class: netshoot
|
||||
|
||||
## What if I don't like VIPs?
|
||||
|
||||
- Services can be published using two modes: VIP and DNSRR.
|
||||
@@ -178,8 +164,6 @@ class: netshoot
|
||||
|
||||
---
|
||||
|
||||
class: netshoot
|
||||
|
||||
## Looking up VIP backends
|
||||
|
||||
- You can also resolve a special name: `tasks.<name>`
|
||||
@@ -199,7 +183,7 @@ This should list 5 IP addresses.
|
||||
|
||||
---
|
||||
|
||||
class: netshoot, extra-details
|
||||
class: extra-details, benchmarking
|
||||
|
||||
## Testing and benchmarking our service
|
||||
|
||||
@@ -225,7 +209,7 @@ before continuing.
|
||||
|
||||
---
|
||||
|
||||
class: netshoot, extra-details
|
||||
class: extra-details, benchmarking
|
||||
|
||||
## Benchmarking `rng`
|
||||
|
||||
@@ -247,7 +231,7 @@ We will send 50 requests, but with various levels of concurrency.
|
||||
|
||||
---
|
||||
|
||||
class: netshoot, extra-details
|
||||
class: extra-details, benchmarking
|
||||
|
||||
## Benchmark results for `rng`
|
||||
|
||||
@@ -259,7 +243,7 @@ class: netshoot, extra-details
|
||||
|
||||
---
|
||||
|
||||
class: netshoot, extra-details
|
||||
class: extra-details, benchmarking
|
||||
|
||||
## Benchmarking `hasher`
|
||||
|
||||
@@ -280,7 +264,7 @@ First, we need to put the POST payload in a temporary file.
|
||||
|
||||
---
|
||||
|
||||
class: netshoot, extra-details
|
||||
class: extra-details, benchmarking
|
||||
|
||||
## Benchmarking `hasher`
|
||||
|
||||
@@ -302,7 +286,7 @@ Once again, we will send 50 requests, with different levels of concurrency.
|
||||
|
||||
---
|
||||
|
||||
class: netshoot, extra-details
|
||||
class: extra-details, benchmarking
|
||||
|
||||
## Benchmark results for `hasher`
|
||||
|
||||
@@ -318,13 +302,13 @@ class: netshoot, extra-details
|
||||
|
||||
---
|
||||
|
||||
class: netshoot, extra-details, title
|
||||
class: extra-details, title, benchmarking
|
||||
|
||||
Why?
|
||||
|
||||
---
|
||||
|
||||
class: netshoot, extra-details
|
||||
class: extra-details, benchmarking
|
||||
|
||||
## Why does everything take (at least) 100ms?
|
||||
|
||||
@@ -338,7 +322,7 @@ class: netshoot, extra-details
|
||||
|
||||
---
|
||||
|
||||
class: netshoot, extra-details, title
|
||||
class: extra-details, title, benchmarking
|
||||
|
||||
But ...
|
||||
|
||||
@@ -346,7 +330,7 @@ WHY?!?
|
||||
|
||||
---
|
||||
|
||||
class: netshoot, extra-details
|
||||
class: extra-details, benchmarking
|
||||
|
||||
## Why did we sprinkle this sample app with sleeps?
|
||||
|
||||
@@ -365,7 +349,7 @@ class: netshoot, extra-details
|
||||
|
||||
---
|
||||
|
||||
class: netshoot, extra-details, in-person
|
||||
class: extra-details, in-person, benchmarking
|
||||
|
||||
## Why do `rng` and `hasher` behave differently?
|
||||
|
||||
@@ -375,7 +359,7 @@ class: netshoot, extra-details, in-person
|
||||
|
||||
---
|
||||
|
||||
class: netshoot, extra-details
|
||||
class: extra-details
|
||||
|
||||
## Global scheduling → global debugging
|
||||
|
||||
|
||||
@@ -763,6 +763,8 @@ Our registry is not *exactly* identical to the one deployed with `docker service
|
||||
|
||||
---
|
||||
|
||||
class: auto-btp
|
||||
|
||||
## Testing our local registry
|
||||
|
||||
- Connecting to port 5000 *on any node of the cluster* routes us to the registry
|
||||
@@ -788,6 +790,8 @@ If that doesn't work, retry a few times; perhaps the container is still starting
|
||||
|
||||
---
|
||||
|
||||
class: auto-btp
|
||||
|
||||
## Pushing an image to our local registry
|
||||
|
||||
- We can retag a small image, and push it to the registry
|
||||
@@ -809,6 +813,8 @@ If that doesn't work, retry a few times; perhaps the container is still starting
|
||||
|
||||
---
|
||||
|
||||
class: auto-btp
|
||||
|
||||
## Checking what's on our local registry
|
||||
|
||||
- The registry API has endpoints to query what's there
|
||||
|
||||
@@ -42,7 +42,7 @@ class: extra-details
|
||||
|
||||
## Extra details
|
||||
|
||||
- This slide should have a little magnifying glass in the top right corner
|
||||
- This slide should have a little magnifying glass in the top left corner
|
||||
|
||||
(If it doesn't, it's because CSS is hard — Jérôme is only a backend person, alas)
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ class: extra-details
|
||||
|
||||
## Extra details
|
||||
|
||||
- This slide should have a little magnifying glass in the top right corner
|
||||
- This slide should have a little magnifying glass in the top left corner
|
||||
|
||||
(If it doesn't, it's because CSS is hard — Jérôme is only a backend person, alas)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user