Objets Kuberenetes

Un "Deployment" est l'option la plus courante pour gérer un Pod ou un ensemble de Pods. Ceux-ci sont normalement utilisés à la place des ReplicaSets car ils sont plus flexibles. De la création d'un Deployment résulte un ReplicaSet - voir https://www.mirantis.com/blog/kubernetes-replication-controller-replica-set-and-deployments-understanding-replication-options/.

Un "StatefulSet" est utile si on a plusieurs Pods et si a on besoin d'une persistance dédiée par Pod ou encore si on avait plusieurs Pods et si les Pods ont besoin de noms individuels car ils sont liés les uns aux autres (par exemple, un est un leader) - https://stackoverflow.com/a/48006210/9705485

Un "DaemonSet" serait utilisé lorsque on veut un Pod/replica par Node.

Un Job crée un ou plusieurs Pods et s'assure qu'un certain nombre d'entre eux se terminent avec succès. Au fur et à mesure que les pods s'achèvent avec succès, le Job fait le suivi de leur achèvement. Lorsqu'un certain nombre de tâches terminées avec succès est atteint, la tâche (c.-à-d. le job) est terminée. La suppression d'un job nettoie les Pods qu'il a créés.

Un cas simple est de créer un objet Job afin d'exécuter de manière fiable un Pod jusqu'au bout. L'objet Job démarre un nouveau Pod si le premier Pod échoue ou est supprimé (par exemple en raison d'une défaillance matérielle ou d'un redémarrage du nœud).

Vous pouvez également utiliser un Job pour exécuter plusieurs Pods en parallèle.

https://kubernetes.io/docs/concepts/overview/working-with-objects/kubernetes-objects/

https://kubernetes.io/docs/concepts/services-networking/service/

https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/

https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller/

https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/

https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/

https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/

https://kubernetes.io/docs/concepts/configuration/secret/

https://kubernetes.io/docs/reference/using-api/api-overview/