new pictures

This commit is contained in:
Ricardo (XenGi) Band 2022-08-15 20:13:36 +02:00
commit 04147ea133
Signed by: xengi
GPG key ID: 56376B6BA63CC9F7

View file

@ -19,68 +19,155 @@ keywords: kubernetes,container,basics
- Containers
- Container engines
- docker, podman :heart:
- Container runtime interfaces (CRI)
- containerd, CRI-O, Docker Engine
- [docker][docker], [podman][podman] :heart:
- Bonus points for:
- [docker|podman]-compose
- [docker-compose][docker-compose]
- [podman-compose][podman-compose]
[docker]: https://www.docker.com/
[podman]: https://podman.io/
[docker-compose]: https://docs.docker.com/compose/
[podman-compose]: https://github.com/containers/podman-compose
<!--
- podman can run root less
- there is a docker-compose equivalent
- compose is basically running a kubernetes like deployment
-->
---
# Agenda
# Agenda part 1 - The basics
- Workloads aka your app
- Environment
- Containers
- Pods
- Replication Controllers
- Services
- Volumes
- Namespaces
- 🧑 Workloads aka your app
- 🛋️ Environment
- 📦 Containers
- 🏡 Pods
- 🏘️ ReplicaSets
- 🏪 Services
- 💾 Volumes
- 🌆 Namespaces
<!--
If you want to explain it to your kid, you can stop after this.
The emojis probably make no sense, ignore them if they confuse you.
-->
---
# Advanced topics
# Agenda part 2 - Advanced topics
- Deployments
- ReplicaSets (the new Replication Controller)
- StatefulSets
- Ingress Controller
- Cluster DNS
- Container Storage Interface (CSI)
- Container Network Interface (CNI)
- Network Policies
- Custom Resources
- 🏭 Deployments
- ? StatefulSets
- 🌐 Ingress Controller
- 📑 Cluster DNS
- 💾 Container Storage Interface (CSI)
- 🕸️ Container Network Interface (CNI)
- 👮 Network Policies
- 🃏 Custom Resources
<!-- It's ok if you zone out somewhere around here. -->
---
![bg right 50%](./workload.drawio.svg)
![bg right 80%](./workload.drawio.svg)
# Workloads and the environment
# 🧑🛋️ Workloads and their environment
Example: Simple PHP app
- index.php
- PHP runtime
- Webserver
- OS
- PHP runtime ([php-fpm][php-fpm])
- Webserver ([NGINX][nginx])
- OS ([Alpine][alpine])
[php-fpm]: https://www.php.net/manual/en/install.fpm.php
[nginx]: https://www.nginx.com/
[alpine]: https://www.alpinelinux.org/
---
# Containers
![bg right 80%](./container.drawio.svg)
- Provides an isolated environment
# 📦 Containers
- Isolated environment
- Linux namespace and cgroups
- Needs to be managed
- Networking
- *I smell another talk around here*
- Shared filesystems
- Scheduling
- Load balancing
- Distribution
- Persistant storage
- Networking?
- Persistant storage?
- Scheduling, Load balancing
<!-- Networking: I smell another talk around here -->
---
![bg right 80%](./pod.drawio.svg)
# 🏡 Pods
- "Runnable unit of work"
- Holds Containers
- Connects to overlay network
- Container runtime interfaces (CRI)
- containerd, CRI-O, Docker
---
![bg right 80%](./replicaset.drawio.svg)
# 🏘️ ReplicaSets
---
![bg right 100%](./service.drawio.svg)
# 🏪 Services
---
![bg right 100%](./volume.drawio.svg)
# 💾 Volumes
---
![bg right 100%](./namespace.drawio.svg)
# 🌆 Namepaces
---
# 🏭 Deployments
---
# 🏘️ ReplicaSets
---
# ? StatefulSets
---
# 🌐 Ingress Controller
---
# 📑 Cluster DNS
---
# 💾 Container Storage Interface (CSI)
---
# 🕸️ Container Netrwork Interface (CNI)
## 👮 Network Policies
---
# 🃏 Custom Resource
---