Denis Germain
@zwindler(@framapiaf.org)
#geek #SF #runner
*the slides are on the blog
In reality :
Node or Worker : the server running the Pods
Pod : Kubernetes compute unit. 1-n containers sharing 0-n volumes and an IP address
3 APIs :
I'm going to deploy a web server in V(lang) using YAML manifests (easy)
BUT, we'll deploy before that a Kubernetes cluster, binary by binary first
github.com/zwindler/demystifions-kubernetes
Controllers are independant control loop softwares:
But also :
How does Kubernetes know "where" to put a new Pod?
Official documentation - kubelet
To run the containers in the pods, we need a container runtime
At first, (dockershim is unsupported in 1.24)
dockershim
Often replaced by containerd now, lot's of alternatives!
containerd
uses iptables, ipvs, ou eBPF to simulate the (virtual) network
iptables
ipvs
eBPF
There is no IP
Component responsible of creating/managing dynamically iptables rules to route trafic from Services to living Pods
Routing HTTP(S) requests
Note: Ingress API is being replaced by tge Gateway API (more powerful and more agnostic)
Slides and sources on blog.zwindler.fr/conférences
Carson Anderson - Kubernetes Deconstructed
Jérôme Petazzoni - Dessine moi un cluster
Kubernetes Design Principles: Understand the Why
It's a box!