Denis GERMAIN
@zwindler(@framapiaf.org)
#geek #SF #courseAPied
*Les slides de ce talk sont sur le blog
C'est une boite !
Pod : Unité de compute Kubernetes. Ensemble de containers qui partagent une IP et des volumes.
Node ou Worker : Serveur informatique qui héberge les Pods
3 APIs :
github.com/zwindler/demystifions-kubernetes
Centralise toutes les APIs disponibles (& extensible !)
Chaque API est une couche d'abstraction pour de l'infra
Like a real manager, he's not the one doing the real work
Les controllers sont des boucles de contrôles :
Mais aussi :
Détermine où positionner un nouveau Pod en fonction de contraintes :
Documentation officielle - scheduler
Pour exécuter le(s) container(s) du Pod, il faut un container runtime
Historiquement, (dockershim plus supporté depuis Kubernetes 1.24)
dockershim
Souvent containerd, mais il y a plein d'alternatives !
containerd
Documentation officielle - kubelet
Chaque Pod a une IP. On utilise des iptables, ipvs, ou eBPF pour simuler le réseau (et virtuel) interne de
iptables
ipvs
eBPF
Cette IP n'existe pas, Néo
Router des requêtes HTTP(S)
Note: Ingress API en cours de remplacement par la Gateway API (plus puissante et plus agnostique)
Slides et sources sur blog.zwindler.fr/conférences
Carson Anderson - Kubernetes Deconstructed
Jérôme Petazzoni - Dessine moi un cluster
Kubernetes Design Principles: Understand the Why
kubectl apply
Source : A Guide to Kubernetes Admission Controllers