3.9. タスク実行とパイプライン実行の自動プルーニング
古い TaskRun
オブジェクトと PipelineRun
オブジェクト、およびそれらの実行されたインスタンスは、アクティブな実行に使用できる物理リソースを占有します。これらのリソースを最適に利用するために、Red Hat OpenShift Pipelines は、さまざまな namespace 内の未使用のオブジェクトとそのインスタンスを自動的に削除するプルーナーコンポーネントを提供します。
TektonConfig
カスタムリソースを使用してインストール全体のプルーナーを設定し、namespace のアノテーションを使用して namespace の設定を変更できます。ただし、namespace で個々のタスク実行とパイプライン実行を選択的に自動プルーニングすることはできません。
3.9.1. プルーナーの設定 リンクのコピーリンクがクリップボードにコピーされました!
TektonConfig
カスタムリソースを使用して、パイプラインの実行とタスクの実行に関連付けられたリソースの定期的なプルーニングを設定できます。
次の例は、デフォルト設定に対応します。
プルーナー設定の例
パラメーター | 説明 |
---|---|
| プルーナープロセスを実行するための Cron スケジュール。デフォルトのスケジュールでは、プロセスは毎日 08:00 に実行されます。Cron スケジュール構文の詳細は、Kubernetes ドキュメントの Cron schedule syntax を参照してください。 |
|
プルーナーが適用されるリソースのタイプ。使用可能なリソースの種類は、 |
| 保持するすべてのタイプの最新のリソースの数。 |
|
|
|
リソースを保持する最大時間 (分単位)。たとえば、6 日以上前に作成されたリソースを保持するには、 |
keep
パラメーターと keep-since
パラメーターは相互に排他的です。設定ではそのうちの 1 つだけを使用してください。
3.9.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 日間に作成されたすべてのタスク実行とパイプライン実行を保持し、古いリソースを削除します。
自動プルーニングアノテーションの例