検索

3.12. タスク実行とパイプライン実行の自動プルーニング

download PDF

古い TaskRun オブジェクトと PipelineRun オブジェクト、およびそれらの実行されたインスタンスは、アクティブな実行に使用できる物理リソースを占有します。これらのリソースを最適に利用するために、Red Hat OpenShift Pipelines は、さまざまな namespace 内の未使用のオブジェクトとそのインスタンスを自動的に削除するプルーナーコンポーネントを提供します。

注記

TektonConfig カスタムリソースを使用してインストール全体のプルーナーを設定し、namespace のアノテーションを使用して namespace の設定を変更できます。ただし、namespace で個々のタスク実行とパイプライン実行を選択的に自動プルーニングすることはできません。

3.12.1. プルーナーの設定

TektonConfig カスタムリソースを使用して、パイプラインの実行とタスクの実行に関連付けられたリソースの定期的なプルーニングを設定できます。

次の例は、デフォルト設定に対応します。

プルーナー設定の例

apiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
metadata:
  name: config
# ...
spec:
  pruner:
    resources:
      - taskrun
      - pipelinerun
    keep: 100
    prune-per-resource: false
    schedule: "* 8 * * *"
    startingDeadlineSeconds: 60
# ...

表3.3 プルーナー設定でサポートされているパラメーター
パラメーター説明

schedule

プルーナープロセスを実行するための Cron スケジュール。デフォルトのスケジュールでは、プロセスは毎日 08:00 に実行されます。Cron スケジュール構文の詳細は、Kubernetes ドキュメントの Cron schedule syntax を参照してください。

resources

プルーナーが適用されるリソースのタイプ。使用可能なリソースの種類は、taskrunPipelinerun です。

keep

保持するすべてのタイプの最新のリソースの数。

prune-per-resource

false に設定した場合、keep パラメーターの値はタスク実行またはパイプライン実行の合計数を示します。たとえば、keep100 に設定されている場合、プルーナーは最新のタスク実行 100 件と最新のパイプライン実行 100 件を保持し、他のすべてのリソースを削除します。

true に設定すると、keep パラメーターの値は、各パイプラインを参照するパイプライン実行と、各タスクを参照するタスク実行に対して個別に計算されます。たとえば、keep100 に設定されている場合、プルーナーは Pipeline1 の最新のパイプライン実行 100 件、Pipeline2 の最新のパイプライン実行 100 件、Task1 の最新のタスク実行 100 件などを保持し、他のすべてのリソースを削除します。

keep-since

リソースを保持する最大時間 (分単位)。たとえば、6 日以上前に作成されたリソースを保持するには、keep-since7200 に設定します。

startingDeadlineSeconds

このパラメーターは任意です。何らかの理由でプルーナージョブがスケジュールされたタイミングで開始されない場合、この設定ではジョブを開始できる最大時間を秒単位で設定します。指定された時間内にジョブが開始されない場合、OpenShift Pipelines はこのジョブが失敗したと見なし、次のスケジュールされた時間にプルーナーを開始します。このパラメーターを指定せず、プルーナージョブがスケジュールされたタイミングで開始されない場合、可能な限り、OpenShift Pipelines は後からジョブを開始しようとします。

注記

keep パラメーターと keep-since パラメーターは相互に排他的です。設定ではそのうちの 1 つだけを使用してください。

3.12.2. タスク実行とパイプライン実行を自動的にプルーニングするためのアノテーション

ネームスペース内のタスク実行とパイプライン実行の自動プルーニングの設定を変更するには、namespace にアノテーションを設定します。

次の namespace のアノテーションは、TektonConfig カスタムリソースの対応するキーと同じ意味を持ちます。

  • operator.tekton.dev/prune.schedule
  • operator.tekton.dev/prune.resources
  • operator.tekton.dev/prune.keep
  • operator.tekton.dev/prune.prune-per-resource
  • operator.tekton.dev/prune.keep-since
注記

Operator.tekton.dev/prune.resources アノテーションは、コンマ区切りのリストを受け入れます。タスク実行とパイプライン実行の両方をプルーニングするには、このアノテーションを "taskrun, pipelinerun" に設定します。

次の追加の namespace アノテーションを使用できます。

  • Operator.tekton.dev/prune.skip: true に設定すると、アノテーションが設定されている namespace はプルーニングされません。
  • operator.tekton.dev/prune.strategy: このアノテーションの値を keep または keep-since のいずれかに設定します。

たとえば、次のアノテーションは、過去 5 日間に作成されたすべてのタスク実行とパイプライン実行を保持し、古いリソースを削除します。

自動プルーニングアノテーションの例

kind: Namespace
apiVersion: v1
# ...
spec:
  annotations:
    operator.tekton.dev/prune.resources: "taskrun, pipelinerun"
    operator.tekton.dev/prune.keep-since: 7200
# ...

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.