LeMagIT.fr

https://www.lemagit.fr/conseil/Administration-Kubernetes-comprendre-les-Jobs-et-les-CronJobs

Administration Kubernetes : comprendre les Jobs et les CronJobs

par Stephen J. Bigelow

Il existe deux approches pour gérer les tâches dans Kubernetes : les Jobs et les CronJobs. Les Jobs correspondent aux tâches lancées de manière ponctuelle. Les Cronjobs correspondent aux tâches récurrentes.

Les Jobs conviennent par exemple à un batch de traitement d’images, à la réplication ou à la restauration de données, à la transformation ou à la normalisation de données, ainsi qu’à d’autres tâches d’analyse de données. Par exemple, une restauration de données peut être suffisamment critique pour qu’il existe un job dédié à cette tâche, mais elle n’est nécessaire que dans de rares occasions, typiquement lorsqu’une perte de données se produit.

Les CronJobs, mieux adaptés aux tâches planifiées ou récurrentes, conviennent aux sauvegardes de données, à la synchronisation ou à l’agrégation de données, au nettoyage des logs ou autres activités de maintenance système, ainsi qu’à l’ajout périodique de ressources. Par exemple, confier un nettoyage régulier des logs à un CronJob, permet d’éviter le risque qu’un responsable oublie de le faire en temps et en heure.

Comment fonctionne un job Kubernetes ?

Un job crée un ou plusieurs pods de containers pour exécuter ponctuellement une série plus ou moins longue de fonctions successives. L’élément à prendre en compte avec les Jobs est leur nature éphémère.

Alors que la plupart des pods ne s’éteignent que lorsque l’orchestrateur Kubernetes considère qu’ils sont en surnombre par rapport à l’activité en cours, le pod impliqué dans un Job est conçu pour se terminer une fois que son train de fonction a été exécuté. Modulo le fait que l’administrateur puisse programmer une répétition dans ce train de fonctions pour, par exemple, traiter successivement un certain nombre de lots de données.

Les jobs peuvent gérer des tâches parallèles qui se déroulent sur plusieurs pods, réessayer automatiquement une opération en cas d’échec et garder une trace de ce qui a été accompli. L’administrateur peut supprimer ou suspendre les jobs de manière manuelle ou par programmation.

Un job Kubernetes a les caractéristiques suivantes :

L’administrateur peut lister les jobs en cours de fonctionnement avec la commande Kubernetes kubectl get all.

Comment fonctionne un Cronjob Kubernetes ?

Un CronJob est un Job qui s’exécute selon un calendrier récurrent, ou à une date spécifiée en amont. La planification repose sur un format et des paramètres Cron déclaratifs, Cron étant un utilitaire de planification de tâches en ligne de commande sur les systèmes d’exploitation de type Unix. La fonctionnalité CronJob est intégrée à l’API REST de Kubernetes.

Les tâches sont spécifiées comme n’importe quel autre Job dans Kubernetes, mais l’intention récurrente des CronJobs signifie que les Jobs sous-jacents sont souvent adaptés aux opérations répétitives. Les exemples les plus courants incluent les sauvegardes, la synchronisation des données et la génération de rapports.

Un CronJob Kubernetes a les caractéristiques suivantes :

Il existe trois limitations notables aux CronJobs :

19 févr. 2024

All Rights Reserved, Copyright 2007 - 2025, TechTarget | Read our Privacy Statement