diff --git a/slides/containers/Container_Engines.md b/slides/containers/Container_Engines.md index 4ab41b96..8da77c6c 100644 --- a/slides/containers/Container_Engines.md +++ b/slides/containers/Container_Engines.md @@ -104,22 +104,6 @@ like Windows, macOS, Solaris, FreeBSD ... --- -## rkt - -* Compares to `runc`. - -* No daemon or API. - -* Strong emphasis on security (through privilege separation). - -* Networking has to be set up separately (e.g. through CNI plugins). - -* Partial image management (pull, but no push). - - (Image build is handled by separate tools.) - ---- - ## CRI-O * Designed to be used with Kubernetes as a simple, basic runtime. diff --git a/slides/k8s/concepts-k8s.md b/slides/k8s/concepts-k8s.md index 0e27a464..e2f3a261 100644 --- a/slides/k8s/concepts-k8s.md +++ b/slides/k8s/concepts-k8s.md @@ -44,21 +44,37 @@ ## Other things that Kubernetes can do for us -- Basic autoscaling +- Autoscaling -- Blue/green deployment, canary deployment + (straightforward on CPU; more complex on other metrics) -- Long running services, but also batch (one-off) jobs +- Ressource management and scheduling -- Overcommit our cluster and *evict* low-priority jobs + (reserve CPU/RAM for containers; placement constraints) -- Run services with *stateful* data (databases etc.) +- Advanced rollout patterns -- Fine-grained access control defining *what* can be done by *whom* on *which* resources + (blue/green deployment, canary deployment) -- Integrating third party services (*service catalog*) +--- -- Automating complex tasks (*operators*) +## More things that Kubernetes can do for us + +- Batch jobs + + (one-off; parallel; also cron-style periodic execution) + +- Fine-grained access control + + (defining *what* can be done by *whom* on *which* resources) + +- Stateful services + + (databases, message queues, etc.) + +- Automating complex tasks with *operators* + + (e.g. database replication, failover, etc.) --- @@ -191,11 +207,29 @@ No! - By default, Kubernetes uses the Docker Engine to run containers -- We could also use `rkt` ("Rocket") from CoreOS +- We can leverage other pluggable runtimes through the *Container Runtime Interface* -- Or leverage other pluggable runtimes through the *Container Runtime Interface* +- We could also use `rkt` ("Rocket") from CoreOS (deprecated) - (like CRI-O, or containerd) +--- + +class: extra-details + +## Some runtimes available through CRI + +- [containerd](https://github.com/containerd/containerd/blob/master/README.md) + + - maintained by Docker, IBM, and community + - used by Docker Engine, microk8s, k3s, GKE; also standalone + - comes with its own CLI, `ctr` + +- [CRI-O](https://github.com/cri-o/cri-o/blob/master/README.md): + + - maintained by Red Hat, SUSE, and community + - used by OpenShift and Kubic + - designed specifically as a minimal runtime for Kubernetes + +- [And more](https://kubernetes.io/docs/setup/production-environment/container-runtimes/) ---