3.12. Élagage automatique de l'exécution des tâches et de l'exécution du pipeline
Les objets TaskRun
et PipelineRun
périmés et leurs instances exécutées occupent des ressources physiques qui peuvent être utilisées pour les exécutions actives. Pour éviter ce gaspillage, Red Hat OpenShift Pipelines fournit des annotations que les administrateurs de clusters peuvent utiliser pour élaguer automatiquement les objets inutilisés et leurs instances dans divers espaces de noms.
- À partir de Red Hat OpenShift Pipelines 1.6, l'élagage automatique est activé par défaut.
- La configuration de l'élagage automatique par la spécification d'annotations affecte l'ensemble de l'espace de noms. Vous ne pouvez pas procéder à un élagage automatique sélectif des exécutions de tâches individuelles et des exécutions de pipeline dans un espace de noms.
3.12.1. Configuration par défaut de l'élagueur Copier lienLien copié sur presse-papiers!
La configuration par défaut pour l'élagage périodique des ressources associées à l'exécution d'un pipeline est la suivante :
Vous pouvez remplacer la configuration par défaut de l'élagueur pour un espace de noms en utilisant les annotations sur l'espace de noms.
3.12.2. Annotations pour l'élagage automatique des tâches et des pipelines Copier lienLien copié sur presse-papiers!
Pour élaguer automatiquement les ressources associées aux exécutions de tâches et de pipelines dans un espace de noms, vous pouvez définir les annotations suivantes dans l'espace de noms :
-
operator.tekton.dev/prune.schedule
: Si la valeur de cette annotation est différente de la valeur spécifiée dans la définition de la ressource personnaliséeTektonConfig
, un nouveau travail cron est créé dans cet espace de noms. -
operator.tekton.dev/prune.skip
: Lorsqu'il est défini surtrue
, l'espace de noms pour lequel il est configuré n'est pas élagué. -
operator.tekton.dev/prune.resources
: Cette annotation accepte une liste de ressources séparées par des virgules. Pour élaguer une seule ressource, telle qu'une exécution de pipeline, définissez cette annotation à"pipelinerun"
. Pour élaguer plusieurs ressources, telles qu'une exécution de tâche et une exécution de pipeline, définissez cette annotation à"taskrun, pipelinerun"
. -
operator.tekton.dev/prune.keep
: Utilisez cette annotation pour conserver une ressource sans l'élaguer. operator.tekton.dev/prune.keep-since
: Cette annotation permet de conserver les ressources en fonction de leur âge. La valeur de cette annotation doit être égale à l'âge de la ressource en minutes. Par exemple, pour conserver les ressources qui ont été créées il y a cinq jours au maximum, définissezkeep-since
sur7200
.NoteLes annotations
keep
etkeep-since
s'excluent mutuellement. Pour toute ressource, vous ne devez configurer qu'une seule d'entre elles.-
operator.tekton.dev/prune.strategy
: Fixer la valeur de cette annotation àkeep
oukeep-since
.
Prenons l'exemple des annotations suivantes, qui conservent toutes les exécutions de tâches et de pipelines créées au cours des cinq derniers jours et suppriment les ressources les plus anciennes :
Exemple d'élagage automatique des annotations
... annotations: operator.tekton.dev/prune.resources: "taskrun, pipelinerun" operator.tekton.dev/prune.keep-since: 7200 ...
...
annotations:
operator.tekton.dev/prune.resources: "taskrun, pipelinerun"
operator.tekton.dev/prune.keep-since: 7200
...
3.12.3. Ressources complémentaires Copier lienLien copié sur presse-papiers!
- Pour plus d'informations sur l'élagage manuel de divers objets, voir Élaguer des objets pour récupérer des ressources.