3.16. イベントベースのプルーナーの有効化
イベントベースのプルーナーはテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
イベントベースの tektonpruner コントローラーを使用すると、設定可能なポリシーに基づいて、PipelineRuns や TaskRuns などの完了したリソースを自動的に削除できます。デフォルトのジョブベースのプルーナーとは異なり、イベントベースのプルーナーはリソースイベントをリッスンし、ほぼリアルタイムでリソースをプルーニングします。
イベントベースのプルーナーを有効にする前に、TektonConfig カスタムリソース (CR) のデフォルトのプルーナーを無効にする必要があります。両方のプルーナータイプが有効になっている場合、デプロイメントの準備ステータスが False に変わり、出力に次のエラーメッセージが表示されます。
Components not in ready state: Invalid Pruner Configuration!! Both pruners, tektonpruner(event based) and pruner(job based) cannot be enabled simultaneously. Please disable one of them.
Components not in ready state: Invalid Pruner Configuration!! Both pruners, tektonpruner(event based) and pruner(job based) cannot be enabled simultaneously. Please disable one of them.
手順
TektonConfig CR で、
spec.pruner.disabledフィールドをtrueに設定してデフォルトのプルーナーを無効にし、spec.tektonpruner.disabledフィールドをfalseに設定してイベントベースのプルーナーを有効にします。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新された CR を適用すると、Operator は
tekton-pruner-controllerPod をopenshift-pipelinesnamespace にデプロイします。openshift-pipelinesnamespace に次の config map が存在することを確認します。Expand config map 目的 tekton-pruner-default-specデフォルトのプルーニング動作を定義する
pruner-infoコントローラーが使用する内部ランタイムデータを保存する
config-logging-tekton-prunerプルーナーのロギング設定を行う
config-observability-tekton-prunerメトリクスやトレーシングなどの可観測性機能を有効にする
検証
tekton-pruner-controllerPod が実行中であることを確認するには、次のコマンドを実行します。oc get pods -n openshift-pipelines
$ oc get pods -n openshift-pipelinesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力に
Running状態のtekton-pruner-controllerPod が含まれていることを確認します。出力例:tekton-pruner-controller-<id> Running
$ tekton-pruner-controller-<id> RunningCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.16.1. イベントベースのプルーナーの設定 リンクのコピーリンクがクリップボードにコピーされました!
イベントベースのプルーナーはテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
TektonConfig カスタムリソース (CR) を変更することで、イベントベースプルーナーのプルーニング動作を設定できます。
以下は、グローバルプルーニングルールを使用するデフォルト設定の TektonConfig CR の例です。
-
failedHistoryLimit: 保持される失敗した実行の量。 -
historyLimit: 保持する実行の量。ステータス固有の制限が定義されていない場合、Pruner はこの設定を使用します。 -
namespaces:enforcedConfigLevelをnamespaceに設定した場合の、namespace ごとのプルーニングポリシーの定義。 -
successfulHistoryLimit: 保持される成功した実行の量。 -
ttlSecondsAfterFinished: 完了後、プルーナーがリソースを削除するまでの時間 (秒)。
enforcedConfigLevel を namespace に設定し、namespaces セクションでポリシーを設定することで、個々の namespace のプルーニングルールを定義できます。次の例では、dev-project namespace 内のリソースに 60 秒の有効期間 (TTL) が適用されます。
TektonConfig CR tektonpruner では次のパラメーターを使用できます。
| パラメーター | 説明 |
|---|---|
|
| 完了から一定秒数が経過したリソースを削除します。 |
|
| 最新の成功した実行を指定された数だけ保持します。古い成功した実行を削除します。 |
|
| 最新の失敗した実行を指定された数だけ保持します。古い失敗した実行を削除します。 |
|
|
|
|
|
プルーナーが設定を適用するレベルを指定します。受け入れられる値: |
|
| namespace ごとのプルーニングポリシーを定義します。 |
TTL ベースのプルーニングを使用して、設定された有効期限を超えたリソースをプルーニングできます。履歴ベースのプルーニングを使用して、設定された historyLimit を超えるリソースをプルーニングします。
3.16.2. イベントベースのプルーナーの観測可能性メトリクス リンクのコピーリンクがクリップボードにコピーされました!
イベントベースのプルーナーはテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
イベントベースのプルーナーは、監視、トラブルシューティング、および容量計画のために、OpenTelemetry 形式でポート 9090 の tekton-pruner-controller コントローラー Service 定義を通じて、詳細なメトリクスを公開します。
公開されるメトリクスのカテゴリーは次のとおりです。
- リソース処理
- パフォーマンスのタイミング
- 状態追跡
- エラー監視
ほとんどのプルーナーメトリクスでは、追加のコンテキストを提供するためにラベルが使用されます。PromQL クエリーまたはダッシュボードでこれらのラベルを使用して、メトリクスをフィルタリングおよびグループ化できます。
| Label | 説明 |
|---|---|
|
|
|
|
| Tekton リソースタイプ。 |
|
| リソースの処理の結果。 |
|
| リソースを削除したプルーニング方法。 |
|
| スキップまたはエラー結果の具体的な原因。 |
- リソース処理メトリクス
イベントベースのプルーナーによって、次のリソース処理メトリクスが公開されます。
Expand 名前 型 説明 ラベル tekton_pruner_controller_resources_processed_totalCounter
処理されたリソースの合計
namespace, resource_type, status
tekton_pruner_controller_resources_deleted_totalCounter
削除されたリソースの合計
namespace, resource_type, operation
- パフォーマンスタイミングメトリクス
イベントベースのプルーナーによって、次のパフォーマンスタイミングメトリクスが公開されます。
Expand 名前 型 説明 ラベル Bucket tekton_pruner_controller_reconciliation_duration_secondsヒストグラム
リコンシリエーションに費やした時間
namespace, resource_type
0.1 から 30 秒
tekton_pruner_controller_ttl_processing_duration_secondsヒストグラム
TTL の処理に費やされた時間
namespace, resource_type
0.1 から 30 秒
tekton_pruner_controller_history_processing_duration_secondsヒストグラム
履歴の処理時間に関する制限
namespace, resource_type
0.1 から 30 秒
- 状態追跡メトリクス
イベントベースのプルーナーによって、次の状態追跡メトリクスが公開されます。
Expand 名前 型 説明 kn_workqueue_adds_totalCounter
キューに入れられたリソースの合計
kn_workqueue_depthゲージ
キュー内の現在のアイテム数
- エラー監視メトリクス
イベントベースのプルーナーによって、次のエラー監視メトリクスが公開されます。
Expand 名前 型 説明 ラベル tekton_pruner_controller_resources_errors_totalCounter
処理エラーの合計
namespace, resource_type, reason