1.11. Red Hat OpenShift Pipelines テクノロジープレビュー 1.3 のリリースノート
1.11.1. 新機能 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines テクノロジープレビュー (TP) 1.3 が OpenShift Container Platform 4.7 で利用可能になりました。Red Hat OpenShift Pipelines TP 1.3 が以下をサポートするように更新されています。
- Tekton Pipelines 0.19.0
-
Tekton
tknCLI 0.15.0 - Tekton Triggers 0.10.2
- Tekton Catalog 0.19.0 をベースとするクラスタータスク
- OpenShift Container Platform 4.7 での IBM Power Systems
- OpenShift Container Platform 4.7 での IBM Z および LinuxONE
以下のセクションでは、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.3 の主な新機能について説明します。
1.11.1.1. Pipelines リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
- S2I や Buildah タスクなどのイメージをビルドするタスクが、イメージの SHA を含むビルドされたイメージの URL を生成するようになりました。
-
Conditionカスタムリソース定義 (CRD) が非推奨となっているため、カスタムタスクを参照するパイプラインタスクの条件は許可されません。 -
spec.steps[].imagePullPolicyおよびspec.sidecar[].imagePullPolicyフィールドのTaskCRD に変数の拡張が追加されました。 -
disable-creds-initfeature-flag をtrueに設定すると、Tekton のビルトイン認証情報メカニズムを無効にすることができます。 -
解決済みの When 式は、
PipelineRun設定のStatusフィールドのSkipped TasksおよびTask Runsセクションにリスト表示されるようになりました。 -
git initコマンドが、再帰的なサブモジュールのクローンを作成できるようになりました。 -
TaskCR の作成者は、Task仕様のステップのタイムアウトを指定できるようになりました。 -
エントリーポイントイメージを
distroless/static:nonrootイメージにベースとして作成し、ベースイメージに存在するcpコマンドを使用せずに、これを宛先にコピーするモードを許可できるようになりました。 -
Git SSH シークレットの既知のホストの省略を許可しないように、設定フラグ
require-git-ssh-secret-known-hostsを使用できるようになりました。フラグ値がtrueに設定されている場合には、Git SSH シークレットにknown_hostフィールドを含める必要があります。フラグのデフォルト値はfalseです。 - オプションのワークスペースの概念が導入されました。タスクまたはパイプラインはワークスペースオプションを宣言し、その存在に基づいて動作を条件的に変更する可能性があります。タスク実行またはパイプライン実行により、そのワークスペースが省略され、タスクまたはパイプラインの動作が変更される可能性があります。デフォルトのタスク実行ワークスペースは、省略されたオプションのワークスペースの代わりに追加されることはありません。
- Tekton の認証情報の初期化により、SSH 以外の URL で使用する SSH 認証情報が検出されるほか、Git パイプラインリソースでは SSH URL で使用する http 認証情報が検出され、Step コンテナーで警告がログに記録されるようになりました。
- タスク実行コントローラーは、Pod テンプレートで指定されたアフィニティーがアフィニティーアシスタントによって上書きされる場合に警告イベントを生成します。
- タスク実行リコンサイラーは、タスク実行が完了すると生成されるクラウドイベントのメトリクスを記録するようになりました。これには再試行が含まれます。
1.11.1.2. Pipelines CLI リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
-
--no-headers flagのサポートが、次のコマンドに追加されました:tkn condition list、tkn triggerbinding list、tkn eventlistener list、tkn clustertask list、tkn clustertriggerbinding list -
併用した場合、
--lastまたは--useオプションは、--prefix-nameおよび--timeoutオプションを上書きします。 -
tkn eventlistener logsコマンドが追加され、EventListenerログが表示されるようになりました。 -
tekton hubコマンドはtknCLI に統合されるようになりました。 -
--nocolourオプションは--no-colorに変更されました。 -
--all-namespacesフラグは、次のコマンドに追加されました:tkn triggertemplate list、tkn condition list、tkn triggerbinding list、tkn eventlistener list
1.11.1.3. トリガー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
-
EventListenerテンプレートでリソース情報を指定できるようになりました。 -
すべてのトリガーリソースの
get動詞に加えて、EventListenerサービスアカウントにlistおよびwatch動詞が設定されることが必須になりました。これにより、Listersを使用してEventListener、Trigger、TriggerBinding、TriggerTemplate、およびClusterTriggerBindingリソースからデータを取得することができます。この機能を使用して、複数のインフォーマーを指定するのではなくSinkオブジェクトを作成し、API サーバーを直接呼び出すことができます。 -
イミュータブルな入力イベント本体をサポートする新たな
Interceptorインターフェイスが追加されました。インターセプターはデータまたはフィールドを新しいextensionsフィールドに追加できるようになり、入力本体を変更できなくなったことでイミュータブルとなりました。CEL インターセプターはこの新たなInterceptorインターフェイスを使用します。 -
namespaceSelectorフィールドはEventListenerリソースに追加されます。これを使用して、EventListenerリソースがイベント処理用にTriggerオブジェクトを取得できる namespace を指定します。namespaceSelectorフィールドを使用するには、EventListenerのサービスアカウントにクラスターロールが必要です。 -
トリガー
EventListenerリソースは、eventlistenerPod へのエンドツーエンドのセキュアな接続をサポートするようになりました。 -
"を\"に置き換えることで、TriggerTemplatesリソースのエスケープパラメーター動作が削除されました。 -
Kubernetes リソースをサポートする新規
resourcesフィールドは、EventListener仕様の一部として導入されます。 - ASCII 文字列の大文字と小文字へのサポートが含まれる CEL インターセプターの新機能が追加されました。
-
TriggerBindingリソースは、トリガーのnameおよびvalueフィールドを使用するか、イベントリスナーを使用して埋め込むことができます。 -
PodSecurityPolicy設定は、制限された環境で実行されるように更新されます。これにより、コンテナーは root 以外のユーザーとして実行する必要があります。さらに、Pod セキュリティーポリシーを使用するためのロールベースのアクセス制御は、クラスタースコープから namespace スコープに移行されます。これにより、トリガーは namespace に関連しない他の Pod セキュリティーポリシーを使用することができません。 -
埋め込みトリガーテンプレートのサポートが追加されました。
nameフィールドを使用して埋め込みテンプレートを参照するか、specフィールド内にテンプレートを埋め込むことができます。
1.11.2. 非推奨の機能 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
-
PipelineResourcesCRD を使用する Pipeline テンプレートは非推奨となり、今後のリリースで削除されます。 -
template.refフィールドが優先されるため、template.nameフィールドは非推奨となり、今後のリリースで削除されます。 -
--checkコマンドの短縮形である-cが削除されました。さらに、グローバルtknフラグがversionコマンドに追加されます。
1.11.3. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
-
CEL オーバーレイは、受信イベント本体を変更する代わりに、フィールドを新しい最上位の
extensions関数に追加します。TriggerBindingリソースは、$(extensions.<key>)構文を使用して、この新しいextensions関数内の値にアクセスできます。$(body.<overlay-key>)の代わりに$(extensions.<key>)構文を使用するようにバインディングを更新します。 -
"を\"に置き換えることで、エスケープパラメーター動作が削除されました。古いエスケープパラメーターの動作を保持する必要がある場合は、tekton.dev/old-escape-quotes: true"アノテーションをTriggerTemplate仕様に追加します。 -
TriggerBindingリソースは、トリガーまたはイベントリスナー内のnameおよびvalueフィールドを使用して組み込みことができます。ただし、単一のバインディングにnameおよびrefフィールドの両方を指定することはできません。refフィールドを使用してTriggerBindingリソースおよび埋め込みバインディングのnameフィールドを参照します。 -
インターセプターは、
EventListenerリソースの namespace 外でsecretの参照を試行することはできません。シークレットを `EventListener` の namespace に含める必要があります。 -
Trigger 0.9.0 以降では、本体またはヘッダーベースの
TriggerBindingパラメーターが見つからないか、イベントペイロードで形式が正しくない場合に、エラーを表示する代わりにデフォルト値が使用されます。 -
JSON アノテーションを修正するには、Tekton および Pipelines 0.16.x を使用して
WhenExpressionオブジェクトで作成されたタスクおよびパイプラインを再適用する必要があります。 - パイプラインがオプションのワークスペースを受け入れ、これをタスクに付与すると、ワークスペースが指定されていない場合はパイプライン実行が停止します。
- 非接続環境で Buildah クラスタータスクを使用するには、Dockerfile が内部イメージストリームをベースイメージとして使用していることを確認してから、これを S2I クラスタータスクと同じ方法で使用します。
1.11.4. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
-
CEL インターセプターによって追加された拡張機能は、イベント本体内に
Extensionsフィールドを追加して Webhook インターセプターに渡されます。 -
ログリーダーのアクティビティータイムアウトは、
LogOptionsフィールドを使用して設定できるようになりました。ただし、10 秒のタイムアウトのデフォルト動作は保持されます。 -
logコマンドは、タスク実行またはパイプライン実行が完了したときに--followフラグを無視し、ライブログではなく利用可能なログを読み取ります。 -
以下の Tekton リソースへの参照:
EventListener、TriggerBinding、ClusterTriggerBinding、Condition、およびTriggerTemplateは、tknコマンドのすべてのユーザーに表示されるメッセージで標準化され、一貫性を保つようになりました。 -
以前は、
--use-taskrun <canceled-task-run-name>、--use-pipelinerun <canceled-pipeline-run-name>または--lastフラグを使用してキャンセルされたタスク実行またはパイプライン実行を開始した場合、新規の実行はキャンセルされました。このバグは修正されています。 -
tkn pr descコマンドが強化され、パイプラインが各種の状態で実行された場合に失敗しなくなりました。 -
--taskオプションでtkn tr deleteコマンドを使用してタスク実行を削除し、クラスタータスクが同じ名前で存在する場合、クラスタータスクのタスク実行も削除されます。回避策として、TaskRefKindフィールドを使用して、タスク実行をフィルタリングします。 -
tkn triggertemplate describeコマンドは、出力内のapiVersion値の一部のみを表示します。たとえば、triggers.tekton.dev/v1alpha1ではなく、triggers.tekton.devのみが表示されました。このバグは修正されています。 - 特定の条件下で Webhook はリースの取得に失敗し、正常に機能しません。このバグは修正されています。
- v0.16.3 で作成した When 式を持つパイプラインは、v0.17.1 以降で実行できるようになりました。アップグレード後に、アノテーションの最初の大文字と小文字の両方がサポートされるようになったため、以前のバージョンで作成されたパイプライン定義を再適用する必要はありません。
-
デフォルトでは、
leader-election-haフィールドが高可用性に対して有効にされるようになりました。コントローラーフラグdisable-haをtrueに設定すると、高可用性サポートが無効になります。 - 重複したクラウドイベントに関する問題が修正されています。クラウドイベントは、条件が状態、理由、またはメッセージを変更する場合にのみ送信されるようになりました。
-
サービスアカウント名が
PipelineRunまたはTaskRun仕様にない場合、コントローラーはconfig-defaults設定マップからサービスアカウント名を使用します。サービスアカウント名がconfig-defaults設定マップにもない場合、コントローラーはこれを仕様でdefaultに設定するようになりました。 - アフィニティーアシスタントとの互換性の検証は、同じ永続ボリューム要求 (PVC) が複数のワークスペースに使用される場合にサポートされるようになりましたが、サブパスは異なります。