6.3. Red Hat OpenShift Pipelines テクノロジープレビュー 1.1 のリリースノート
6.3.1. 新機能
Red Hat OpenShift Pipelines テクノロジープレビュー (TP) 1.1 が OpenShift Container Platform 4.6 で利用可能になりました。Red Hat OpenShift Pipelines TP 1.1 が以下をサポートするように更新されています。
- Tekton Pipelines 0.14.3
-
Tekton
tkn
CLI 0.11.0 - Tekton Triggers 0.6.1
- Tekton Catalog 0.14 をベースとする ClusterTask
以下では、修正および安定性の面での改善点に加え、OpenShift Pipeline 1.1 の主な新機能について説明します。
6.3.1.1. Pipeline
- Workspace を PipelineResource の代わりに使用できるようになりました。PipelineResource はデバッグが容易ではなく、スコープの制限があり、Task を再利用可能にしないため、OpenShift Pipelines では Workspace を使用することが推奨されます。Workspace の詳細は、OpenShift Pipelines について参照してください。
VolumeClaimTemplate の Workspace サポートが追加されました。
- PipelineRun および TaskRun の VolumeClaimTemplate が Workspace のボリュームソースとして追加できるようになりました。次に、tekton-controller は Pipeline のすべての TaskRun の PVC として表示されるテンプレートを使用して PersistentVolumeClaim (PVC) を作成します。したがって、複数のタスクにまたがる Workspce をバインドするたびに PVC 設定を定義する必要はありません。
- VolumeClaimTemplate がボリュームソースとして使用される場合の PersistentVolumeClaim の名前検索のサポートが、変数の置換を使用して利用できるようになりました。
監査を強化するサポート:
-
PipelineRun.Status
フィールドには、Pipeline のすべての TaskRun のステータスと、PipelineRun の進捗をモニターするために PipelineRun をインスタンス化する際に使用する Pipeline 仕様が含まれるようになりました。 -
Pipeline の結果が Pipeline 仕様および
PipelineRun
ステータスに追加されました。 -
TaskRun.Status
フィールドには、TaskRun
のインスタンス化に使用される実際の Task 仕様が含まれるようになりました。
-
- デフォルトパラメーターを Condition に適用するサポート。
-
ClusterTask を参照して作成される TaskRun は、
tekton.dev/task
ラベルではなくtekton.dev/clusterTask
ラベルを追加するようになりました。 -
kubeconfigwriter
は、kubeconfig-creator Task でパイプラインリソースタイプクラスターの置き換えを有効にするためにClientKeyData
およびClientCertificateData
設定を Resource 構造に追加できるようになりました。 -
feature-flags
およびconfig-defaults
ConfigMap の名前はカスタマイズ可能になりました。 - TaskRun で使用される PodTemplate の HostNetwork のサポートが利用可能になりました。
- Affinity Assistant が、Workspace ボリュームを共有する TaskRun のノードのアフィニティーをサポートするようになりました。デフォルトで、これは OpenShift Pipelines で無効にされます。
-
PodTemplate は、Pod の起動時にコンテナーイメージのプルを許可するためにコンテナーランタイムが使用するシークレットを特定するために
imagePullSecrets
を指定するように更新されました。 - コントローラーが TaskRun の更新に失敗した場合に TaskRun コントローラーから警告イベントを出すためのサポート。
- アプリケーションまたはコンポーネントに属するリソースを特定するために、すべてのリソースに標準または推奨される k8s ラベルが追加されました。
- Entrypoint プロセスがシグナルについて通知されるようになり、これらのシグナルは Entrypoint プロセスの専用の PID グループを使用して伝播されるようになりました。
-
PodTemplate は
TaskRunSpecs
を使用してランタイム時に Task レベルで設定できるようになりました。 Kubernetes イベントを生成するサポート。
-
コントローラーは、追加の TaskRun ライフサイクルイベント (
taskrun started
およびtaskrun running
) のイベントを生成するようになりました。 - PipelineRun コントローラーは、Pipeline の起動時に毎回イベントを生成するようになりました。
-
コントローラーは、追加の TaskRun ライフサイクルイベント (
- デフォルトの Kubernetes イベントのほかに、TaskRun の CloudEvents のサポートが利用可能になりました。コントローラーは、クラウドイベントとして create、started、および failed などの TaskRun イベントを送信するように設定できます。
-
PipelineRun および TaskRun の場合に適切な名前を参照するための
$context.<taskRun|pipeline|pipelineRun>.name
変数を使用するサポート。 - PipelineRun パラメーターの検証が、Pipeline で必要なすべてのパラメーターが PipelineRun によって提供できるようにするために利用可能になりました。これにより、PipelineRun は必要なパラメーターに加えて追加のパラメーターを指定することもできます。
-
Pipeline YAML ファイルの
finally
フィールドを使用して、すべてのタスクが正常に終了するか、または Pipeline の Task の失敗後、Pipeline が終了する前に常に実行される Pipeline 内で Task を指定できるようになりました。 -
git-clone
ClusterTask が利用できるようになりました。
6.3.1.2. Pipelines CLI
-
組み込まれた Trigger バインディングのサポートが、
tkn evenlistener describe
コマンドで利用できるようになりました。 - 正しくないサブコマンドが使用される場合にサブコマンドを推奨し、提案するためのサポート。
-
tkn task describe
コマンドは、1 つのタスクのみが Pipeline に存在する場合にタスクを自動的に選択できるようになりました。 -
--use-param-defaults
フラグをtkn task start
コマンドに指定することにより、デフォルトのパラメーター値を使用して Task を起動できるようになりました。 -
--workspace
オプションをtkn pipeline start
またはtkn task start
コマンドで使用して、PipelineRun または TaskRun の volumeClaimTemplate を指定できるようになりました。 -
tkn pipelinerun logs
コマンドに、finally
セクションに一覧表示される最終タスクのログが表示されるようになりました。 -
インタラクティブモードのサポートが、以下の tkn リソース向けに
tkn task start
コマンドおよびdescribe
サブコマンドに追加されました:pipeline
、pipelinerun
、task
、taskrun
、clustertask
、およびpipelineresource
。 -
tkn version
コマンドで、クラスターにインストールされている Trigger のバージョンが表示されるようになりました。 -
tkn pipeline describe
コマンドで、Pipeline で使用される Task に指定されたパラメーター値およびタイムアウトが表示されるようになりました。 -
最近の PipelineRun または TaskRun をそれぞれ記述できるように、
tkn pipelinerun describe
およびtkn taskrun describe
コマンドの--last
オプションのサポートが追加されました。 -
tkn pipeline describe
コマンドに、Pipeline の Task に適用される Condition が表示されるようになりました。 -
--no-headers
および--all-namespaces
フラグをtkn resource list
コマンドで使用できるようになりました。
6.3.1.3. トリガー
以下の Common Expression Language (CEL) 機能が利用できるようになりました。
-
parseURL
: URL の一部を解析し、抽出します。 -
parseJSON
:deployment
webhook のpayload
フィールドの文字列に埋め込まれた JSON 値タイプを解析します。
-
- Bitbucket からの Webhook の新規インターセプターが追加されました。
-
EventListener は、
kubectl get
コマンドで一覧表示される際の追加フィールドとしてAddress URL
およびAvailable status
を表示します。 -
TriggerTemplate パラメーターは、
$(params.<paramName>)
ではなく$(tt.params.<paramName>)
構文を使用するようになり、TriggerTemplate と ResourceTemplates パラメーター間で生じる混乱が軽減されました。 -
EventListener CRD に
tolerations
を追加し、セキュリティーや管理上の問題によりすべてのノードにテイントのマークが付けられる場合でも EventListener が同じ設定でデプロイされるようにできるようになりました。 -
EventListener Deployment の Readiness Probe を
URL/live
に追加できるようになりました。 - EventListener Trigger での TriggerBinding 仕様の埋め込みのサポート。
-
Trigger リソースに推奨される
app.kubernetes.io
ラベルでアノテーションが付けられるようになりました。