Architecture en Détail

Il y a deux composant majeure, les worker et les master nodes. Les master node constitue le Control Plane. Toutes actions sont dirigées par des appelles API aux Operators.

Un plugin réseau, appelé Container Network Interface est utilisé pour permettre un accès dans le cluster, et à l’externe.

Kubelet vas partir les pods qui sont dans /etc/kubernetes/manifests/

C’est composée de ces éléments:

Control Plane

Roulent plusieurs processus pour garder le cluster dans un état stable. Par exemple:

  1. Kube-Apiserver
  2. Kube-Scheduler

Il existe d’autre agent qui sont utilisé. Par exemple Kube-Controller-Manager, CoreDNS ou Cloud-Controller-Manager.

Worker Nodes

Elles ont tous Kubelet, Kube-Proxy et un Container Runtime. Il est possible d’ajouter du monitoring additionnelle en installant SupervisorD.

#draft

Operators

Ce sont des extensions à Kubernetes qui permette d’automatiser des processus plus complexe que les resources traditionnels le permettent. Cette complexité est contrôler par les controllers. Des exemples de ce qu’un opérateur peut accomplir:

  1. Créer et Restore des backups
  2. Simuler un crash dans une partie de notre infrastructure (resiliency test)

Il est possible de créer des opérateurs custom.

Controller

C’est une Control Loop qui essaie d’amener une ressource au status désiré. Un Controller peut track une ou plusieurs ressources. Ils peuvent interagir avec Kube-Apiserver afin de collecter des données sur le status actuelle. Par exemple, Job, Service, Endpoint.

Il est possible de créer ces propres controllers.

References

  1. operator
  2. controller
  3. illustrated-guide-to-kubernetes-networking