This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.第4章 パイプライン
4.1. Red Hat OpenShift Pipelines リリースノート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines は、以下を提供する Tekton プロジェクトをベースとするクラウドネイティブの CI/CD エクスペリエンスです。
- 標準の Kubernetes ネイティブパイプライン定義 (CRD)
- CI サーバー管理のオーバーヘッドのないサーバーレスのパイプライン。
- S2I、Buildah、JIB、Kaniko などの Kubernetes ツールを使用してイメージをビルドするための拡張性。
- Kubernetes ディストリビューションでの移植性。
- パイプラインと対話するための強力な CLI。
- OpenShift Container Platform Web コンソールの Developer パースペクティブと統合されたユーザーエクスペリエンス。
Red Hat OpenShift Pipelines の概要については、OpenShift Pipelines について を参照してください。
4.1.1. 互換性およびサポート表 リンクのコピーリンクがクリップボードにコピーされました!
現在、今回のリリースに含まれる機能には テクノロジープレビュー のものがあります。これらの実験的機能は、実稼働環境での使用を目的としていません。
以下の表では、機能は以下のステータスでマークされています。
| TP | テクノロジープレビュー |
| GA | 一般公開 |
| Red Hat OpenShift Pipelines バージョン | コンポーネントのバージョン | OpenShift バージョン | サポートステータス | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Operator | パイプライン | トリガー | CLI | カタログ | チェーン | ハブ | コードとしてのパイプライン | ||
| 1.7 | 0.33.x | 0.19.x | 0.23.x | 0.33 | 0.8.0 (TP) | 1.7.0 (TP) | 0.5.x (TP) | 4.9、4.10、4.11 | GA |
| 1.6 | 0.28.x | 0.16.x | 0.21.x | 0.28 | 該当なし | 該当なし | 該当なし | 4.9 | GA |
| 1.5 | 0.24.x | 0.14.x (TP) | 0.19.x | 0.24 | 該当なし | 該当なし | 該当なし | 4.8 | GA |
| 1.4 | 0.22.x | 0.12.x (TP) | 0.17.x | 0.22 | 該当なし | 該当なし | 該当なし | 4.7 | GA |
Red Hat OpenShift Pipelines 1.6 では、Trigger 0.16.x が GA ステータスに移行しました。以前のバージョンでは、Trigger はテクノロジープレビューとして提供されていました。
質問やフィードバックについては、製品チームに pipelines-interest@redhat.com 宛のメールを送信してください。
4.1.2. 多様性を受け入れるオープンソースの強化 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
4.1.3. Red Hat OpenShift Pipelines General Availability 1.7 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines General Availability (GA) 1.7 が OpenShift Container Platform 4.9、4.10、および 4.11 で利用可能になりました。
4.1.3.1. 新機能 リンクのコピーリンクがクリップボードにコピーされました!
以下では、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.7 の主な新機能について説明します。
4.1.3.1.1. パイプライン リンクのコピーリンクがクリップボードにコピーされました!
今回の更新では、
pipelines-<version>が Red Hat OpenShift Pipelines Operator をインストールするためのデフォルトのチャネルです。たとえば、Pipelines Operator バージョン1.7をインストールするためのデフォルトのチャネルはpipelines-1.7です。クラスター管理者は、latestチャネルを使用して、Operator の最新の安定バージョンをインストールすることもできます。注記previewチャネルとstableチャネルは廃止され、将来のリリースで削除される予定です。ユーザー namespace でコマンドを実行すると、コンテナーは
root(ユーザー ID0) として実行されますが、ホストに対するユーザー特権があります。この更新では、ユーザー namespace で pod を実行するには、CRI-O が期待するアノテーションを渡す必要があります。-
すべてのユーザーにこれらのアノテーションを追加するには、
oc edit clustertask buildahコマンドを実行し、buildahクラスタータスクを編集します。 - 特定の namespace にアノテーションを追加するには、クラスタータスクをタスクとしてその namespace にエクスポートします。
-
すべてのユーザーにこれらのアノテーションを追加するには、
この更新の前は、特定の条件が満たされない場合、
when式はTaskオブジェクトとその依存タスクをスキップしていました。今回の更新により、when式のスコープを設定して、従属タスクではなく、Taskオブジェクトのみを保護できるようになりました。この更新を有効にするには、TektonConfigCRD でscope-when-expressions-to-taskフラグをtrueに設定します。注記scope-when-expressions-to-taskフラグは非推奨であり、将来のリリースで削除される予定です。パイプラインのベストプラクティスとして、保護されたTaskのみを対象とする式のwhenに使用します。-
この更新では、タスク内のワークスペースの
subPathフィールドで変数置換を使用できます。 今回の更新では、一重引用符または二重引用符を含む角かっこ表記を使用して、パラメーターと結果を参照できます。この更新以前は、ドット表記しか使用できませんでした。たとえば、次は同等になりました。
$(param.myparam)、$(param['myparam'])、および$(param["myparam"])。一重引用符または二重引用符を使用して、
"."などの問題のある文字を含むパラメーター名を囲むことができます。たとえば、$(param['my.param'])と$(param["my.param"])。
-
この更新により、
enable-api-fieldsフラグを有効にせずに、タスク定義にステップのonErrorパラメーターを含めることができます。
4.1.3.1.2. トリガー リンクのコピーリンクがクリップボードにコピーされました!
-
この更新により、
feature-flag-triggers設定マップに新しいフィールドlabels-exclusion-patternが追加されました。このフィールドの値を正規表現 (regex) パターンに設定できます。コントローラーは、正規表現パターンに一致するラベルを、イベントリスナーからイベントリスナー用に作成されたリソースへの伝播から除外します。 -
この更新により、
TriggerGroupsフィールドがEventListener仕様に追加されました。このフィールドを使用すると、トリガーのグループを選択して実行する前に実行するインターセプターのセットを指定できます。この機能を有効にするには、feature-flags-triggers設定マップのenable-api-fieldsフラグをalphaに設定します。 -
この更新により、
Triggerリソースは、TriggerTemplateテンプレートによって定義されたカスタム実行をサポートします。 -
この更新により、トリガーは
EventListenerPod からの Kubernetes イベントの生成をサポートします。 -
この更新により、次のオブジェクトのカウントメトリックが使用可能になります:
ClusterInteceptor、EventListener、TriggerTemplate、ClusterTriggerBinding、およびTriggerBinding。 -
この更新により、
ServicePort仕様が Kubernetes リソースに追加されます。この仕様を使用して、イベントリスナーサービスを公開するポートを変更できます。デフォルトのポートは8080です。 -
この更新では、
EventListener仕様のtargetURIフィールドを使用して、トリガー処理中にクラウドイベントを送信できます。この機能を有効にするには、feature-flags-triggers設定マップのenable-api-fieldsフラグをalphaに設定します。 -
この更新により、
tekton-triggers-eventlistener-rolesオブジェクトには、既存のcreate動詞に加えて、patch動詞が含まれるようになりました。 -
この更新により、
securityContext.runAsUserパラメーターがイベントリスナーのデプロイメントから削除されます。
4.1.3.1.3. CLI リンクのコピーリンクがクリップボードにコピーされました!
この更新では、
tkn [pipeline | pipelinerun] exportコマンドは、パイプラインまたはパイプライン実行を YAML ファイルとしてエクスポートします。以下に例を示します。openshift-pipelinesnamespace にtest_pipelineという名前のパイプラインをエクスポートします。tkn pipeline export test_pipeline -n openshift-pipelines
$ tkn pipeline export test_pipeline -n openshift-pipelinesCopy to Clipboard Copied! Toggle word wrap Toggle overflow openshift-pipelinesnamespace にtest_pipeline_runという名前のパイプラインランをエクスポートします。tkn pipelinerun export test_pipeline_run -n openshift-pipelines
$ tkn pipelinerun export test_pipeline_run -n openshift-pipelinesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
この更新により、
--graceオプションがtkn pipelinerun cancelに追加されます。--graceオプションを使用して、パイプラインの実行を強制的に終了するのではなく、適切に終了します。この機能を有効にするには、feature-flags設定マップのenable-api-fieldsフラグをalphaに設定します。 この更新により、Operator バージョンと Chains バージョンが
tkn versionコマンドの出力に追加されます。重要Tekton Chains はテクノロジープレビュー機能です。
-
この更新により、パイプラインの実行をキャンセルすると、
tkn pipelinerun describeコマンドはキャンセルされたすべてのタスクの実行を表示します。この修正以前は、1 つのタスク実行のみが表示されていました。 -
この更新により、
tkn [t | p | ct] startコマンドのスキップを--skip-optional-workspaceフラグで実行したときに、オプションのワークスペースの要求仕様を省略できるようになりました。インタラクティブモードで実行している場合はスキップすることもできます。 この更新では、
tkn chainsコマンドを使用して Tekton Chains を管理できます。--chains-namespaceオプションを使用し Tekton Chains をインストールする namespace を指定することもできます。重要Tekton Chains はテクノロジープレビュー機能です。
4.1.3.1.4. Operator リンクのコピーリンクがクリップボードにコピーされました!
この更新では、Red Hat OpenShift Pipelines Operator を使用して、Tekton Hub および Tekton Chains をインストールおよびデプロイできます。
重要Tekton Chains とクラスターへの Tekton Hub のデプロイメントは、テクノロジープレビュー機能です。
この更新により、アドオンオプションとして Pipelines as Code (PAC) を見つけて使用できるようになります。
重要Pipelines as Code は、テクノロジープレビュー機能です。
この更新により、
communityClusterTasksパラメーターをfalseに設定することにより、コミュニティークラスタータスクのインストールを無効にできるようになりました。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow この更新では、
TektonConfigカスタムリソースのenable-devconsole-integrationフラグをfalseに設定することで、Tekton Hub と Developer パースペクティブの統合を無効にできます。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
今回の更新により、
operator-config.yaml設定マップにより、tkn versionコマンドの出力で Operator バージョンを表示できるようになります。 -
この更新により、
argocd-task-sync-and-waitタスクのバージョンがv0.2に変更されます。 -
この
TektonConfigCRD の更新により、oc get tektonconfigコマンドは OPerator のバージョンを表示します。 - この更新により、サービスモニターがトリガーメトリックに追加されます。
4.1.3.1.5. ハブ リンクのコピーリンクがクリップボードにコピーされました!
Tekton Hub をクラスターにデプロイすることは、テクノロジープレビュー機能です。
Tekton Hub は、CI/CD ワークフローの再利用可能なタスクとパイプラインを検出、検索、および共有するのに役立ちます。Tekton Hub のパブリックインスタンスは、hub.tekton.dev で利用できます。
Red Hat OpenShift Pipelines 1.7 を確認しながら、クラスター管理者は Tekton Hub のカスタムインスタンスをエンタープライズクラスターにインストールしてデプロイすることもできます。組織に固有の再利用可能なタスクとパイプラインを使用してカタログをキュレートできます。
4.1.3.1.6. チェーン リンクのコピーリンクがクリップボードにコピーされました!
Tekton Chains はテクノロジープレビュー機能です。
Tekton Chains は、Kubernetes カスタムリソース定義 (CRD) コントローラーです。これを使用して、Red Hat OpenShift Pipelines を使用して作成されたタスクおよびパイプラインのサプライチェーンセキュリティーを管理できます。
デフォルトでは、Tekton Chains は OpenShift Container Platform クラスターで実行されるタスクをモニターします。Chains は、完了したタスク実行のスナップショットを取得し、それらを 1 つ以上の標準ペイロード形式に変換し、すべてのアーティファクトに署名して保存します。
Tekton Chains は、次の機能をサポートしています。
-
暗号化キータイプと
cosignなどのサービスを使用して、タスク実行、タスク実行結果、および OCI レジストリーイメージに署名できます。 -
in-totoなどの認証形式を使用できます。 - OCI リポジトリーをストレージバックエンドとして使用して、署名と署名されたアーティファクトを安全に保存できます。
4.1.3.1.7. Pipelines as Code (PAC) リンクのコピーリンクがクリップボードにコピーされました!
Pipelines as Code は、テクノロジープレビュー機能です。
Pipelines as Code を使用すると、クラスター管理者と必要な権限を持つユーザーは、パイプラインテンプレートをソースコード Git リポジトリーの一部として定義できます。設定された Git リポジトリーのソースコードプッシュまたはプルリクエストによってトリガーされると、この機能はパイプラインを実行し、ステータスを報告します。
Pipelines as Code は、次の機能をサポートしています。
- プルリクエストのステータス。プルリクエストを反復処理する場合、プルリクエストのステータスと制御は Git リポジトリーをホストしているプラットフォームで実行されます。
- GitHub は API をチェックして、再チェックを含むパイプライン実行のステータスを設定します。
- GitHub のプルリクエストとコミットイベント。
-
/retestなどのコメントでリクエストアクションをプルします。 - Git イベントのフィルターリング、およびイベントごとの個別のパイプライン。
- ローカルタスク、Tekton Hub、およびリモート URL のパイプラインでの自動タスク解決。
- 設定を取得するための GitHub blobs およびオブジェクト API の使用。
-
GitHub 組織を介して、または Prow スタイルの
OWNERファイルを使用したアクセス制御リスト (ACL)。 -
tknCLI ツール用のtkn-pacプラグイン。これを使用して Pipelines as Code リポジトリーとブートストラップを管理できます。 - GitHub アプリケーション、GitHub Webhook、Bitbucket Server、および Bitbucket Cloud のサポート。
4.1.3.2. 非推奨の機能 リンクのコピーリンクがクリップボードにコピーされました!
-
重大な変更: この更新により、
TektonConfigカスタムリソース (CR) からdisable-working-directory-overwriteおよびdisable-home-env-overwriteフィールドが削除されます。その結果、TektonConfigCR は$HOME環境変数とworkingDirパラメーターを自動的に設定しなくなりました。タスクカスタムリソース定義 (CRD) のenvおよびworkingDirフィールドを使用して、引き続き$HOME環境変数とworkingDirパラメーターを設定できます。
-
Conditionsカスタムリソース定義 (CRD) タイプは非推奨であり、将来のリリースで削除される予定です。代わりに、推奨されるWhen式を使用してください。
-
重大な変更:
EventListenerとTriggerBindingの値を指定しない場合、Triggersリソースはテンプレートを検証し、エラーを生成します。
4.1.3.3. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
Maven および Jib Maven クラスタータスクを実行する場合には、デフォルトのコンテナーイメージは Intel(x86) アーキテクチャーでのみサポートされます。したがって、IBM Power Systems(ppc64le)、IBM Z、および LinuxONE(s390x) クラスターではタスクに失敗します。回避策として、
MAVEN_IMAGEパラメーターの値をmaven:3.6.3-adoptopenjdk-11に設定すると、カスタムイメージを指定できます。ヒントtkn hubを使用して IBM Power Systems(ppc64le)、IBM Z、および LinuxONE(s390x) の Tekton Catalog をもとにタスクをインストールする前に、タスクがこれらのプラットフォームで実行できるかどうかを確認します。ppc64leおよびs390xがタスク情報の Platforms セクションに一覧表示されているかどうかを確認するには、tkn hub info task <name>コマンドを実行します。-
IBM Power Systems、IBM Z、および LinuxONE では、
s2i-dotnetクラスタータスクはサポートされません。 nodejs:14-ubi8-minimalイメージストリームを使用すると、以下のエラーが生成されるため、使用できません。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
暗黙的なパラメーターマッピングは、最上位の
PipelineまたはPipelineRun定義からtaskRefタスクにパラメーターを誤って渡します。マッピングは、トップレベルのリソースからインラインtaskSpec仕様のタスクにのみ行う必要があります。この問題は、enable-api-fields機能フラグをalphaに設定したユーザーにのみ影響します。
4.1.3.4. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新では、
labelsやannotationsなどのメタデータがPipelineオブジェクト定義とPipelineRunオブジェクト定義の両方に存在する場合、PipelineRunタイプの値が優先されます。TaskオブジェクトとTaskRunオブジェクトで同様の動作が見られます。 -
この更新では、
timeouts.tasksフィールドまたはtimeouts.finallyフィールドが0に設定されている場合、timeouts.pipelineも0に設定されます。 -
この更新により、シバンを使用しないスクリプトから
-xセットフラグが削除されました。この修正により、スクリプト実行による潜在的なデータ漏洩が減少します。 -
この更新により、Git クレデンシャルのユーザー名に存在するバックスラッシュ文字は、
.gitconfigファイルの追加のバックスラッシュでエスケープされます。
-
この更新により、
EventListenerオブジェクトのfinalizerプロパティーは、ロギングおよび設定マップのクリーンアップに必要なくなりました。 - この更新により、イベントリスナーサーバーに関連付けられているデフォルトの HTTP クライアントが削除され、カスタム HTTP クライアントが追加されます。その結果、タイムアウトが改善されました。
- この更新により、トリガークラスターのロールが所有者の参照で機能するようになりました。
- この更新では、複数のインターセプターが拡張機能を返す場合、イベントリスナーの競合状態は発生しません。
-
この更新により、
tkn pr deleteコマンドは、ignore-runningフラグで実行されているパイプラインを削除しません。
- この更新では、アドオンパラメーターを変更しても、Operator Pod は再起動し続けません。
-
この更新により、サブスクリプションおよび設定カスタムリソースで設定されていない場合、
tkn serveCLI Pod はインフラノードでスケジュールされます。 - この更新では、指定されたバージョンのクラスタータスクはアップグレード中に削除されません。
4.1.3.5. Red Hat OpenShift Pipelines General Availability 1.7.1 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines General Availability (GA) 1.7.1 が OpenShift Container Platform 4.9、4.10、および 4.11 で利用可能になりました。
4.1.3.5.1. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新以前は、Red Hat OpenShift Pipelines Operator をアップグレードすると、Tekton Hub に関連付けられたデータベースのデータが削除され、新規データベースがインストールされていました。今回の更新により、Operator のアップグレードでデータが保存されるようになりました。
- 今回の更新以前は、クラスター管理者のみが OpenShift Container Platform コンソールでパイプラインメトリクスにアクセスできていました。今回の更新により、他のクラスターロールを持つユーザーもパイプラインメトリクスにアクセスできるようになりました。
-
今回の更新以前は、大量の終了メッセージを生成するタスクが含まれるパイプラインの場合、パイプラインの実行に失敗しました。Pod 内のすべてのコンテナーの終了メッセージの合計サイズは 12 KB を超えることができないために、パイプライン実行が失敗しました。今回の更新により、同じイメージを使用する
place-toolsおよびstep-init初期化コンテナーがマージされ、各タスクの Pod で実行されているコンテナーの数が減りました。このソリューションにより、タスクの Pod で実行されているコンテナーの数を最小限にすることにより、パイプライン実行に失敗する可能性を減らすことができます。ただし、終了メッセージの最大許容サイズの制限は削除されません。 -
今回の更新以前は、Tekton Hub Web コンソールからリソースの URL に直接アクセスしようとすると、Nginx
404エラーが発生しました。今回の更新で、Tekton Hub Web コンソールイメージは、Tekton Hub Web コンソールから直接リソースの URL にアクセスできるように修正されました。 - 今回の更新以前は、namespace ごとにリソースプルーナージョブがリソースのプルーニング用に別個のコンテナーを作成していました。今回の更新により、リソースプルーナージョブはすべての namespace のコマンドを 1 つのコンテナーのループとして実行するようになりました。
4.1.3.6. Red Hat OpenShift Pipelines General Availability 1.7.2 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines General Availability (GA) 1.7.2 が OpenShift Container Platform 4.9、4.10、およびそれ以降のバージョンで利用可能になりました。
4.1.3.6.1. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
-
openshift-pipelinesnamespace の Tekton Chains のchains-config設定マップは、Red Hat OpenShift Pipelines Operator のアップグレード後に自動的にデフォルト値にリセットされます。現在、この問題に対する回避策はありません。
4.1.3.6.2. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新以前は、最初の引数として
initを使用し、その後に 2 つまたはそれ以上の引数を指定した場合、Pipeline 1.7.1 のタスクは失敗していました。今回の更新により、フラグが正しく解析され、タスクが正常に実行されるようになりました。 今回の更新以前は、無効なロールバインディングにより、OpenShift Container Platform 4.9 および 4.10 への Red Hat OpenShift Pipelines Operator のインストールは、以下のエラーメッセージと共に失敗していました。
error updating rolebinding openshift-operators-prometheus-k8s-read-binding: RoleBinding.rbac.authorization.k8s.io "openshift-operators-prometheus-k8s-read-binding" is invalid: roleRef: Invalid value: rbac.RoleRef{APIGroup:"rbac.authorization.k8s.io", Kind:"Role", Name:"openshift-operator-read"}: cannot change roleReferror updating rolebinding openshift-operators-prometheus-k8s-read-binding: RoleBinding.rbac.authorization.k8s.io "openshift-operators-prometheus-k8s-read-binding" is invalid: roleRef: Invalid value: rbac.RoleRef{APIGroup:"rbac.authorization.k8s.io", Kind:"Role", Name:"openshift-operator-read"}: cannot change roleRefCopy to Clipboard Copied! Toggle word wrap Toggle overflow 今回の更新により、Red Hat OpenShift Pipelines Operator は個別のロールバインディング namespace でインストールし、他の Operator のインストールとの競合を回避するようになりました。
今回の更新以前は、Operator をアップグレードすると、Tekton Chains の
signing-secretsシークレットキーがデフォルト値にリセットされていました。今回の更新により、カスタムシークレットキーは Operator のアップグレード後も永続するようになりました。注記Red Hat OpenShift Pipelines 1.7.2 へのアップグレードにより、キーがリセットされます。ただし、それ以降のリリースにアップグレードすると、キーは永続化される予定です。
今回の更新以前は、すべての S2I ビルドタスクが以下の様なエラーメッセージと共に失敗していました。
Error: error writing "0 0 4294967295\n" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted time="2022-03-04T09:47:57Z" level=error msg="error writing \"0 0 4294967295\\n\" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted" time="2022-03-04T09:47:57Z" level=error msg="(unable to determine exit status)"
Error: error writing "0 0 4294967295\n" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted time="2022-03-04T09:47:57Z" level=error msg="error writing \"0 0 4294967295\\n\" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted" time="2022-03-04T09:47:57Z" level=error msg="(unable to determine exit status)"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 今回の更新により、
pipelines-sccセキュリティーコンテキスト制約 (SCC) は、BuildahおよびS2Iクラスタータスクに必要なSETFCAP機能と互換性が確保されています。その結果、BuildahおよびS2Iビルドタスクを正常に実行できます。さまざまな言語やフレームワークで書かれたアプリケーションに対して
BuildahクラスタータスクおよびS2Iビルドタスクを正常に実行するには、buildやpushなどの適切なstepsオブジェクトに以下のスニペットを追加します。securityContext: capabilities: add: ["SETFCAP"]securityContext: capabilities: add: ["SETFCAP"]Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.3.7. Red Hat OpenShift Pipelines General Availability 1.7.3 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines General Availability (GA) 1.7.3 が OpenShift Container Platform 4.9、4.10、および 4.11 で利用可能になりました。
4.1.3.7.1. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新前は、いずれかの namespace が
Terminating状態の場合、RBAC リソースの作成時に Operator が失敗していました。今回の更新により、Operator はTerminating状態の namespace を無視し、RBAC リソースを作成します。 -
以前は、Red Hat OpenShift Pipelines Operator をアップグレードすると
pipelineサービスアカウントが再作成され、サービスアカウントにリンクされたシークレットが失われていました。今回の更新でこの問題が修正されています。アップグレード中に、Operator はpipelineサービスアカウントを再作成しなくなりました。その結果、pipelineサービスアカウントにアタッチされたシークレットはアップグレード後も保持され、リソース (タスクとパイプライン) は引き続き正しく機能します。
4.1.4. Red Hat OpenShift Pipelines General Availability (GA) 1.6 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines General Availability (GA) 1.6 が OpenShift Container Platform 4.9 で利用可能になりました。
4.1.4.1. 新機能 リンクのコピーリンクがクリップボードにコピーされました!
以下では、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.6 の主な新機能について説明します。
-
今回の更新により
--output <string>を使用して、YAML または JSON 形式の文字列を返すようにパイプラインまたはタスクのstartコマンドを設定できるようになりました。ここでは、<string>はyamlまたはjsonに置き換えます。--outputオプションを指定しないと、startコマンドは人間による解読はしやすくなりますが、他のプログラムによる解析が難しいメッセージを返します。継続的インテグレーション (CI) 環境では、YAML または JSON 形式の文字列を返す機能は便利です。たとえば、リソースの作成後にyqまたはjqを使用して、リソースに関する YAML または JSON 形式のメッセージを解析し、showlogオプションを使用せずにそのリソースが終了するまで待機します。 -
今回の更新により、Podman の
auth.json認証ファイルを使用してレジストリーに対して認証できるようになりました。たとえば、tkn bundle pushを使用して、Docker CLI ではなく Podman を使用してリモートレジストリーにプッシュできます。 -
今回の更新により、
tkn [taskrun | pipelinerun] delete --allコマンドを使用すると、新規の--keep-since <minutes>オプションを使用して、指定した期間よりも後の実行を保持できます。たとえば、5 分未満の実行を維持するには、tkn [taskrun | pipelinerun] delete -all --keep-since 5を入力します。 -
今回の更新により、タスク実行またはパイプライン実行を削除する際に、
--parent-resourceと--keep-sinceオプションを同時に使用できるようになりました。たとえば、tkn pipelinerun delete --pipeline pipelinename --keep-since 5コマンドは、親リソースの名前がpipelinenameで、その経過時間が 5 分以下であるパイプラインの実行を保持します。tkn tr delete -t <taskname> --keep-since 5およびtkn tr delete --clustertask <taskname> --keep-since 5コマンドはタスク実行と同様に機能します。 -
今回の更新により、
v1beta1リソースと連携するトリガーリソースのサポートが追加されました。
-
今回の更新により、
ignore-runningオプションがtkn pipelinerun deleteおよびtkn taskrun deleteコマンドに追加されています。 -
今回の更新により、
createサブコマンドがtkn taskとtkn clustertaskコマンドに追加されました。 -
今回の更新により、
tkn pipelinerun delete --allコマンドを使用すると、新規の--label <string>オプションを使用して、ラベルでパイプライン実行をフィルターできるようになりました。オプションで、--labelオプションに=と==を等価演算子として、または!=を不等価演算子として指定して使用できます。たとえば、tkn pipelinerun delete --all --label asdfおよびtkn pipelinerun delete --all --label==asdfコマンドはどちらも、asdfラベルが割り当てられたすべてのパイプライン実行を削除します。 - 今回の更新では、設定マップからインストールされた Tekton コンポーネントのバージョンを取得するか、設定マップがない場合はデプロイメントコントローラーから取得できるようになりました。
-
今回の更新では、機能フラグを設定し、デフォルト値をそれぞれ設定するために
feature-flagsとconfig-defaults設定マップをサポートするようになりました。 -
今回の更新では、新しいメトリクス
eventlistener_event_countが追加され、EventListenerリソースが受信するイベントをカウントできるようになりました。 今回の更新では、
v1beta1Go API タイプが追加されました。今回の更新では、トリガーがv1beta1API バージョンをサポートするようになりました。現在のリリースでは、
v1alpha1機能が非推奨となり、今後のリリースで削除されます。代わりにv1beta1機能の使用を開始します。
現在のリリースでは、リソースの自動実行がデフォルトで有効になっています。さらに、以下の新規アノテーションを使用して、namespace ごとにタスク実行およびパイプライン実行を自動実行するように設定できます。
-
operator.tekton.dev/prune.schedule: このアノテーションの値がTektonConfigカスタムリソース定義で指定された値と異なる場合には、その namespace に新規の cron ジョブが作成されます。 -
operator.tekton.dev/prune.skip:trueに設定されている場合、設定先の namespace はプルーニングされません。 -
operator.tekton.dev/prune.resources: このアノテーションではリソースのコンマ区切りの一覧を使用できます。パイプライン実行などの単一リソースをプルーニングするには、このアノテーションをpipelinerunに設定します。task run や pipeline run などの複数のリソースをプルーニングするには、このアノテーションを"taskrun, pipelinerun"に設定します。 -
operator.tekton.dev/prune.keep: このアノテーションを使用して、プルーニングなしでリソースを保持します。 operator.tekton.dev/prune.keep-since: このアノテーションを使用して、経過時間をもとにリソースを保持します。このアノテーションの値は、リソースの経過時間 (分単位) と等しくなければなりません。たとえば、6 日以上前に作成されたリソースを保持するには、keep-sinceを7200に設定します。注記keepおよびkeep-sinceアノテーションは同時に使用できません。リソースには、どちらか 1 つだけを使用する必要があります。-
operator.tekton.dev/prune.strategy: このアノテーションの値をkeepまたはkeep-sinceのいずれかに設定します。
-
-
管理者はクラスター全体に対する
pipelineサービスアカウントの作成を無効にし、紐付けされた SCC (anyuidと非常に似ている) の悪用による権限昇格を防ぎます。 -
TektonConfigカスタムリソース (CR) および、TektonPipelineとTektonTriggersなどの個々のコンポーネントの CR を使用して、機能フラグおよびコンポーネントを設定できるようになりました。この詳細レベルは、個々のコンポーネントの Tekton OCI バンドルなどのアルファ機能のカスタマイズおよびテストに役立ちます。 -
PipelineRunリソースのオプションのTimeoutsフィールドを設定できるようになりました。たとえば、パイプライン実行、各タスク実行、およびfinallyタスクに個別にタイムアウトを設定できます。 -
TaskRunリソースで生成される Pod を使用して、Pod のactiveDeadlineSecondsフィールドが設定されるようになりました。これにより、OpenShift はこの値を終了として考慮でき、Pod に具体的にスコープを指定したResourceQuotaオブジェクトを使用できます。 - configmaps を使用して、タスク実行、パイプライン実行、タスク、およびパイプラインのメトリクスタグまたはラベルタイプを削除できます。さらに、ヒストグラム、ゲージ、最終値など、測定期間に、さまざまな種類のメトリクスを設定できます。
-
Tekton は
Min、Max、DefaultおよびDefaultRequestフィールドを考慮してLimitRangeオブジェクトを完全にサポートするため、一貫性をもたせて Pod への要求および制限を定義できます。 以下のアルファ機能が導入されました。
パイプライン実行は、以前の動作のように、すべてのタスク実行を直接停止するのではなく、
finallyタスクの実行後に停止できるようになりました。今回の更新により、以下のspec.status値が追加されました。-
StoppedRunFinalは、完了後、現在実行中のタスクを停止し、finallyタスクを実行します。 -
CancelledRunは、実行中のタスクをすぐにキャンセルしてから、finallyタスクを実行します。 Cancelledは、PipelineRunCancelledステータスで提供される以前の動作を保持します。注記非推奨となった
PipelineRunCancelledステータスはv1バージョンで削除され、Cancelledステータスに置き換えられます。
-
-
oc debugコマンドを使用して、タスク実行をデバッグモードに配置できるようになりました。これにより、実行を一時停止し、Pod で特定の手順を検査できるようになりました。 -
ステップの
onErrorフィールドをcontinueに設定すると、ステップの終了コードが記録され、後続のステップに渡されます。ただし、タスク実行は失敗しないので、タスクの残りのステップの実行は継続されます。既存の動作を維持するには、onErrorフィールドの値をstopAndFailに設定します。 - タスクは、実際に使用されているよりも多くのパラメーターを受け入れるようになりました。アルファ機能フラグを有効にすると、パラメーターは暗黙的にインライン仕様に伝播できます。たとえば、インラインのタスクは、タスクの各パラメーターを明示的に定義せずに、親パイプライン実行のパラメーターにアクセスできます。
-
アルファ機能のフラグを有効にすると、
when式の条件が、直接関連付けられたタスクにのみ適用され、タスクに依存することはありません。When式を関連タスクとその依存に適用するには、式を依存タスクごとに個別に関連付ける必要があります。今後、これが Tekton の新規 API バージョンのWhen式のデフォルト動作になることに注意してください。今回の更新が優先され、既存のデフォルト動作は非推奨になりました。
現在のリリースでは、
nodeSelectorおよびtolerationsの値をTektonConfig カスタムリソース(CR) に指定することで、ノードの選択を設定できます。Operator はこれらの値を、作成するすべてのデプロイメントに追加します。-
Operator のコントローラーおよび Webhook デプロイメントのノード選択を設定するには、Operator のインストール後に
SubscriptionCR の仕様でconfig.nodeSelectorおよびconfig.tolerationsフィールドを編集します。 -
OpenShift Pipelines の残りのコントロールプレーン Pod をインフラストラクチャーノードにデプロイするには、
nodeSelectorおよびtolerationsフィールドでTektonConfigCR を更新します。その後、変更は Operator で作成されるすべての Pod に適用されます。
-
Operator のコントローラーおよび Webhook デプロイメントのノード選択を設定するには、Operator のインストール後に
4.1.4.2. 非推奨の機能 リンクのコピーリンクがクリップボードにコピーされました!
-
CLI 0.21.0 では、
clustertask、task、taskrun、pipeline、およびpipelinerunコマンドに対するすべてのv1alpha1リソースのサポートが非推奨になりました。クラスターローダーが非推奨になり、今後のリリースで削除されます。
Tekton Triggers v0.16.0 では、重複する
statusラベルはEventListenerリソースのメトリクスから削除されます。重要重大な変更:
statusラベルはeventlistener_http_duration_seconds_*メトリクスから削除されました。statusラベルに基づくクエリーを削除します。-
現在のリリースでは、
v1alpha1機能が非推奨となり、今後のリリースで削除されます。代わりに、今回の更新では、v1beta1Go API タイプの使用を開始できるようになりました。トリガーがv1beta1API バージョンをサポートするようになりました。 現在のリリースでは、
EventListenerリソースはトリガーの終了処理前に応答を送信します。重要重大な変更: 今回の変更により、
EventListenerリソースがリソースの作成時に201 Createdステータスコードに応答しなくなります。代わりに202 Accepted応答コードで応答します。今回のリリースで、
podTemplateフィールドがEventListenerリソースから削除されます。重要重大な変更: #1100 の一部として非推奨となった
podTemplateフィールドが削除されました。今回のリリースで、非推奨の
replicasフィールドがEventListenerリソースの仕様から削除されます。重要重大な変更: 非推奨の
replicasフィールドが削除されました。
Red Hat OpenShift Pipelines 1.6 では、
HOME="/tekton/home"およびworkingDir="/workspace"の値がStepオブジェクトの仕様から削除されます。代わりに、Red Hat OpenShift Pipelines は、
Stepオブジェクトを実行するコンテナーで定義される値にHOMEおよびworkingDirを設定します。これらの値は、Stepオブジェクトの仕様で上書きできます。以前の動作を使用するには、
TektonConfigCR のdisable-working-directory-overwriteフィールドおよびdisable-home-env-overwriteフィールドをfalseに変更します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要TektonConfigCR のdisable-working-directory-overwriteとdisable-home-env-overwriteフィールドは非推奨となり、今後のリリースで削除されます。
4.1.4.3. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
-
Maven および Jib Maven クラスタータスクを実行する場合には、デフォルトのコンテナーイメージは Intel(x86) アーキテクチャーでのみサポートされます。したがって、IBM Power Systems(ppc64le)、IBM Z、および LinuxONE(s390x) クラスターではタスクに失敗します。回避策として、
MAVEN_IMAGEパラメーターの値をmaven:3.6.3-adoptopenjdk-11に設定すると、カスタムイメージを指定できます。 -
IBM Power Systems、IBM Z、および LinuxONE では、
s2i-dotnetクラスタータスクはサポートされません。 -
tkn hubを使用して IBM Power Systems(ppc64le)、IBM Z、および LinuxONE(s390x) の Tekton Catalog をもとにタスクをインストールする前に、タスクがこれらのプラットフォームで実行できるかどうかを確認します。ppc64leおよびs390xがタスク情報の Platforms セクションに一覧表示されているかどうかを確認するには、tkn hub info task <name>コマンドを実行します。 nodejs:14-ubi8-minimalイメージストリームを使用すると、以下のエラーが生成されるため、使用できません。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.4.4. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
IBM Power Systems、IBM Z、および LinuxONE では、
tkn hubコマンドはサポート対象外になりました。
-
この更新以前は、ユーザーが
tknコマンドの実行後にターミナルを利用できず、再試行が指定された場合でもパイプライン実行が行われていました。タスク実行またはパイプライン実行のタイムアウトの指定には影響がありません。今回の更新で問題が修正され、コマンド実行後にターミナルが利用できるようになります。 -
今回の更新以前は、
tkn pipelinerun delete --allを実行すると、すべてのリソースが削除されました。今回の更新で、実行中の状態のリソースが削除されなくなりました。 -
今回の更新以前は、
tkn version --component=<component>コマンドを使用しても、コンポーネントのバージョンが返されませんでした。今回の更新でこの問題が修正され、このコマンドを使用すると、コンポーネントのバージョンを返すようになりました。 -
今回の更新以前は、
tkn pr logsコマンドを使用すると、パイプラインの出力ログでタスクの順番が間違って表示されていました。今回の更新で問題は解決され、完了したPipelineRunのログで、TaskRun実行順序を適切に表示するようになりました。
-
今回の更新以前は、実行中のパイプラインの仕様を編集すると、パイプライン実行が完了時に停止できなくなる可能性がありました。今回の更新では、定義を 1 度だけフェッチし、検証用にステータスに保存されている仕様を使用して問題を修正しています。今回の変更により、
PipelineRunまたはTaskRunが実行中のPipelineまたはTaskを参照する場合に競合状態に陥る確率が削減されます。 -
when式値に、[$(params.arrayParam[*])]などの配列パラメーター参照を指定できるようになりました。
4.1.4.5. Red Hat OpenShift Pipelines General Availability 1.6.1 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
4.1.4.5.1. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
古いバージョンから Red Hat OpenShift Pipelines 1.6.1 にアップグレードした後に、Pipeline は、Tekton リソース (タスクおよびパイプライン) で操作 (作成/削除/適用) を実行できない一貫性のない状態になる可能性があります。たとえば、リソースの削除中に、以下のエラーが発生する可能性があります。
Error from server (InternalError): Internal error occurred: failed calling webhook "validation.webhook.pipeline.tekton.dev": Post "https://tekton-pipelines-webhook.openshift-pipelines.svc:443/resource-validation?timeout=10s": service "tekton-pipelines-webhook" not found.
Error from server (InternalError): Internal error occurred: failed calling webhook "validation.webhook.pipeline.tekton.dev": Post "https://tekton-pipelines-webhook.openshift-pipelines.svc:443/resource-validation?timeout=10s": service "tekton-pipelines-webhook" not found.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.4.5.2. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines によって設定される
SSL_CERT_DIR環境変数 (/tekton-custom-certs) は、以下のデフォルトのシステムディレクトリーを証明書ファイルで上書きしません。-
/etc/pki/tls/certs -
/etc/ssl/certs -
/system/etc/security/cacerts
-
- Horizontal Pod Autoscaler は、Red Hat OpenShift Pipelines Operator によって制御されるデプロイメントのレプリカ数を管理できます。このリリース以降、エンドユーザーまたはクラスター上のエージェントによってカウントが変更された場合、Red Hat OpenShift Pipelines Operator はそれによって管理されるデプロイメントのレプリカカウントをリセットしません。ただし、Red Hat OpenShift Pipelines Operator のアップグレード時にレプリカはリセットされます。
-
tknCLI を提供する Pod は、ノードセレクターおよびTektonConfigカスタムリソースで指定される容認制限に基づいて、ノードにスケジュールされるようになりました。
4.1.4.6. Red Hat OpenShift Pipelines General Availability 1.6.2 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
4.1.4.6.1. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
-
新規プロジェクトの作成時に、
pipelineサービスアカウントの作成が遅延し、既存のクラスタータスクおよびパイプラインテンプレートの削除に 10 分以上かかります。
4.1.4.6.2. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新以前は、古いバージョンから Red Hat OpenShift Pipelines 1.6.1 にアップグレードした後に、Tekton インストーラーセットの複数のインスタンスがパイプライン用に作成されました。今回の更新では、Operator により、アップグレード後に
TektonInstallerSetの各タイプのインスタンスが 1 つだけ存在するようになりました。 - 今回の更新以前は、Operator のすべてのリコンサイラーはコンポーネントバージョンを使用して、古いバージョンから Red Hat OpenShift Pipelines 1.6.1 へのアップグレード時にリソース再作成を決定していました。その結果、アップグレード時にコンポーネントのバージョンが変更されなかったリソースは再作成されませんでした。今回の更新により、Operator はコンポーネントのバージョンではなく Operator バージョンを使用して、アップグレード時にリソースの再作成を決定するようになりました。
- この更新の前は、アップグレード後にパイプライン Webhook サービスがクラスターにありませんでした。これは、設定マップのアップグレードのデッドロックが原因でした。今回の更新により、設定マップがクラスターにない場合に Webhook 検証を無効にするメカニズムが追加されました。その結果、パイプライン Webhook サービスはアップグレード後もクラスターで永続化します。
- 今回の更新以前は、namespace への設定変更後に自動プルーニングの cron ジョブは再作成されていました。今回の更新により、namespace に関連するアノテーションが変更された場合のみ、自動プルーニングの Cron ジョブは再作成されるようになりました。
Tekton Pipelines のアップストリームバージョンは
v0.28.3に改訂され、以下の修正が加えられました。-
PipelineRunまたはTaskRunオブジェクトを修正し、ラベルまたはアノテーションの伝搬を許可します。 暗黙的なパラメーターの場合:
-
PipelineSpecパラメーターをTaskRefsオブジェクトに適用しないでください。 -
Pipelineオブジェクトの暗黙的なパラメーター動作を無効にします。
-
-
4.1.4.7. Red Hat OpenShift Pipelines General Availability 1.6.3 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
4.1.4.7.1. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
今回の更新以前は、Red Hat OpenShift Pipelines Operator は Pipeline および Trigger などのコンポーネントから Pod セキュリティーポリシーをインストールしていました。ただし、コンポーネントの一部として同梱される Pod セキュリティーポリシーは、以前のリリースで非推奨となりました。今回の更新により、Operator はコンポーネントから Pod セキュリティーポリシーをインストールするのを止めました。その結果、以下のアップグレードパスが影響を受けます。
- Pipelines 1.6.1 または 1.6.2 から Pipelines 1.6.3 にアップグレードすると、Pipelines および Triggers コンポーネントからのものを含め Pod セキュリティーポリシーが削除されます。
Pipelines 1.5.x から 1.6.3 へのアップグレードでは、コンポーネントからインストールされる Pod セキュリティーポリシーは保持されます。クラスター管理者は、それらを手動で削除できます。
注記今後のリリースにアップグレードすると、Red Hat OpenShift Pipelines Operator は古くなったすべての Pod セキュリティーポリシーを自動的に削除します。
- 今回の更新以前は、クラスター管理者のみが OpenShift Container Platform コンソールでパイプラインメトリクスにアクセスできていました。今回の更新により、他のクラスターロールを持つユーザーもパイプラインメトリクスにアクセスできるようになりました。
- 今回の更新以前は、Pipelines Operator でのロールベースアクセス制御 (RBAC) の問題により、コンポーネントのアップグレードまたはインストールに問題が生じていました。今回の更新により、各種の Red Hat OpenShift Pipelines コンポーネントをインストールする際の信頼性および一貫性が向上しました。
-
今回の更新以前は、
TektonConfigCR でclusterTasksおよびpipelineTemplatesフィールドをfalseに設定すると、クラスタータスクおよびパイプラインテンプレートの削除が遅くなりました。この更新により、クラスタータスクやパイプラインテンプレートなどの Tekton リソースのライフサイクル管理の速度が改善されました。
4.1.4.8. Red Hat OpenShift Pipelines General Availability (GA) 1.6.4 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
4.1.4.8.1. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines 1.5.2 から 1.6.4 にアップグレードした後、イベントリスナールートにアクセスすると
503エラーが返されます。回避策: YAML ファイルで、イベントリスナーのルートのターゲットポートを変更します。
関連する namespace のルート名を抽出します。
oc get route -n <namespace>
$ oc get route -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ルートを編集して、
targetPortフィールドの値を変更します。oc edit route -n <namespace> <el-route_name>
$ oc edit route -n <namespace> <el-route_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例: 既存のイベントリスナールート
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例: 変更されたイベントリスナールート
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.4.8.2. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新前は、いずれかの namespace が
Terminating状態の場合、RBAC リソースの作成時に Operator が失敗していました。今回の更新により、Operator はTerminating状態の namespace を無視し、RBAC リソースを作成します。 - この更新の前は、関連する Tekton コントローラーのリリースバージョンを指定するアノテーションがないため、タスクの実行が失敗するか、再起動されました。今回の更新により、適切な注釈の組み込みが自動化され、タスクは失敗や再起動なしで実行されます。
4.1.5. Red Hat OpenShift Pipelines General Availability (GA) 1.5 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines General Availability (GA) 1.5 が OpenShift Container Platform 4.8 で利用可能になりました。
4.1.5.1. 互換性およびサポート表 リンクのコピーリンクがクリップボードにコピーされました!
現在、今回のリリースに含まれる機能には テクノロジープレビュー のものがあります。これらの実験的機能は、実稼働環境での使用を目的としていません。
以下の表では、機能は以下のステータスでマークされています。
| TP | テクノロジープレビュー |
| GA | 一般公開 |
これらの機能に関しては、Red Hat カスタマーポータルの以下のサポート範囲を参照してください。
| 機能 | バージョン | サポートステータス |
|---|---|---|
| パイプライン | 0.24 | GA |
| CLI | 0.19 | GA |
| カタログ | 0.24 | GA |
| トリガー | 0.14 | TP |
| パイプラインリソース | - | TP |
質問やフィードバックについては、製品チームに pipelines-interest@redhat.com 宛のメールを送信してください。
4.1.5.2. 新機能 リンクのコピーリンクがクリップボードにコピーされました!
以下では、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.5 の主な新機能について説明します。
パイプライン実行およびタスク実行は、ターゲット namespace の cron ジョブによって自動的にプルーニングされます。cron ジョブは
IMAGE_JOB_PRUNER_TKN環境変数の値を使用してtkn imageの値を取得します。今回の機能拡張により、以下のフィールドがTektonConfigカスタムリソースに導入されるようになりました。Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Container Platform で、Tekton Add-ons コンポーネントのインストールをカスタマイズするには、
TektonConigカスタムリソースの新規パラメーターclusterTasksおよびpipelinesTemplatesの値を変更します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow カスタマイズは、
TektonConfigを使用してアドオンを作成するか、または Tekton Add-ons を使用して直接アドオンを作成する場合に許可されます。ただし、パラメーターが渡されない場合、コントローラーはデフォルト値でパラメーターを追加します。注記-
アドオンが
TektonConfigカスタムリソースを使用して作成され、Addonカスタムリソースでパラメーター値を変更すると、TektonConfigカスタムリソースの値が変更を上書きします。 -
pipelinesTemplatesパラメーターの値は、clusterTasksパラメーターの値がtrueの場合のみtrueに設定できます。
-
アドオンが
enableMetricsパラメーターがTektonConfigカスタムリソースに追加されます。これを使用して、OpenShift Container Platform の Tekton Pipeline の一部であるサービスモニターを無効にすることができます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - プロセスレベルでメトリクスをキャプチャーする EventListener OpenCensus メトリクスが追加されました。
- トリガーにはラベルセレクターが追加され、ラベルを使用してイベントリスナーのトリガーを設定できるようになりました。
インターセプターを登録する
ClusterInterceptorカスタムリソース定義が追加され、プラグインできる新しいInterceptorタイプを登録できるようになりました。さらに、以下の関連する変更が行われます。-
トリガー仕様では、
refフィールドが含まれる新しい API を使用してインターセプターを設定し、クラスターインターセプターを参照できます。さらに、paramsフィールドを使用して、処理用のインターセプターに渡すパラメーターを追加することができます。 -
バンドルされたインターセプター CEL、GitHub、GitLab、および BitBucket が移行されました。新しい
ClusterInterceptorカスタムリソース定義を使用して実装されます。 -
コアインターセプターは新しい形式に移行され、古い構文を使用して作成された新しいトリガーは自動的に新しい
refまたはparamsベースの構文に切り替わります。
-
トリガー仕様では、
-
ログの表示中にタスクまたはステップの名前の接頭辞を無効にするには、
logコマンドに--prefixオプションを使用します。 -
特定のコンポーネントのバージョンを表示するには、
tkn versionコマンドで新しい--componentフラグを使用します。 -
tkn hub check-upgradeコマンドが追加され、他のコマンドはパイプラインのバージョンに基づいて変更されます。さらに、カタログ名はsearchコマンドの出力に表示されます。 -
任意のワークスペースのサポートは
startコマンドに追加されます。 -
プラグインが
pluginsディレクトリーに存在しない場合は、現在のパスで検索されます。 tkn start [task | clustertask | pipeline]コマンドは、対話的に開始し、デフォルトパラメーターが指定されている場合でもparams値の入力を求めます。対話式プロンプトを停止するには、コマンドの呼び出し時に--use-param-defaultsフラグを渡します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
versionフィールドはtkn task describeコマンドに追加されます。 -
TriggerTemplate、TriggerBinding、ClusterTriggerBinding、Eventlistenerなどのリソースを自動的に選択するオプションのいずれか 1 つが存在する場合は、describeコマンドに追加されます。 -
tkn pr describeコマンドでは、省略されたタスクのセクションが追加されます。 -
tkn clustertask logsのサポートが追加されました。 -
config.yamlからの YAML マージおよび変数は削除されます。さらに、release.yamlファイルは、kustomizeやyttなどのツールでより簡単に消費されるようになりました。 - ドット文字 (".") を含むリソース名のサポートが追加されました。
-
PodTemplate仕様のhostAliases配列が、ホスト名解決の Pod レベルの上書きに追加されます。これには、/etc/hostsファイルを変更します。 -
タスクのアグリゲート実行ステータスにアクセスするために、変数
$(tasks.status)が導入されました。 - Windows のエントリーポイントバイナリービルドが追加されます。
4.1.5.3. 非推奨の機能 リンクのコピーリンクがクリップボードにコピーされました!
when式では、PascalCase で記述されたフィールドのサポートが削除されます。when式は、小文字で記述されたフィールドのみをサポートします。注記Tekton Pipelines
v0.16(Operatorv1.2.x) のwhen式のあるパイプラインを適用している場合は、これを再度適用する必要があります。Red Hat OpenShift Pipelines Operator を
v1.5にアップグレードする場合、openshift-clientおよびopenshift-client-v-1-5-0クラスタータスクにはSCRIPTパラメーターがあります。ただし、ARGSパラメーターおよびgitリソースはopenshift-clientクラスタータスクの仕様から削除されます。これは重大な変更であり、ClusterTaskリソースのnameフィールドに特定のバージョンのないクラスタータスクがシームレスにアップグレードされます。パイプラインの実行が中断しないようにするには、アップグレード後に
SCRIPTパラメーターを使用します。これは、ARGSパラメーターで以前に指定された値がクラスタータスクのSCRIPTパラメーターに移動するためです。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat OpenShift Pipelines Operator
v1.4からv1.5にアップグレードする場合は、TektonConfigカスタムリソースがインストールされるプロファイル名が変更になりました。Expand 表4.3 TektonConfig カスタムリソースのプロファイル Pipelines 1.5 のプロファイル Pipelines 1.4 の対応するプロファイル インストールされた Tekton コンポーネント すべて (デフォルトプロファイル)
すべて (デフォルトプロファイル)
Pipelines、Triggers、Add-ons
Basic
デフォルト
Pipeline、Triggers
Lite
Basic
パイプライン
注記TektonConfigカスタムリソースのconfigインスタンスでprofile: allを使用した場合は、リソース仕様を変更する必要はありません。ただし、インストールされた Operator がアップグレード前に Default または Basic プロファイルのいずれかにある場合は、アップグレード後に
TektonConfigカスタムリソースのconfigインスタンスを編集する必要があります。たとえば、アップグレードの前に設定がprofile: basicの場合は、Pipeline 1.5 へのアップグレード後にこれがprofile: liteであることを確認します。disable-home-env-overwriteフィールドおよびdisable-working-dir-overwriteフィールドは非推奨となり、今後のリリースで削除されます。本リリースでは、後方互換性のために、これらのフラグのデフォルト値がtrueに設定されます。注記次回のリリース (Red Hat OpenShift Pipelines 1.6) では、
HOME環境変数は自動的に/tekton/homeに設定されず、デフォルトの作業ディレクトリーはタスク実行の/workspaceに設定されていません。これらのデフォルトは、この手順のイメージの Dockerfile で設定されているすべての値と競合します。-
ServiceTypeフィールドおよびpodTemplateフィールドはEventListener仕様から削除されます。 - コントローラーサービスアカウントは、namespace の一覧表示および監視に対してクラスター全体のパーミッションを要求しなくなりました。
EventListenerリソースのステータスには、Readyという新規条件があります。注記今後、
EventListenerリソースの他のステータス条件は非推奨となり、Readyステータス条件が優先されます。-
EventListener応答のeventListenerフィールドおよびnamespaceフィールドは非推奨になりました。代わりにeventListenerUIDフィールドを使用してください。 replicasフィールドはEventListener仕様から非推奨になります。その代わりに、spec.replicasフィールドはKubernetesResource仕様のspec.resources.kubernetesResource.replicasに移動されます。注記replicasフィールドは今後のリリースで削除されます。-
コアインターセプターの設定における古い方法は非推奨になりました。ただし、今後のリリースで削除されるまでこれらの作業は継続されます。代わりに、
Triggerリソースのインターセプターが新しいrefおよびparamsベースの構文を使用して設定されるようになりました。作成されるデフォルトの Webhook は、新規トリガーの古い構文の使用を新規構文に自動的に切り替えます。 -
ClusterRoleBindingリソースに非推奨のrbac.authorization.k8s.io/v1beta1ではなくrbac.authorization.k8s.io/v1を使用します。 -
クラスターロールでは、
serviceaccounts、secrets、configmaps、limitrangesなどのリソースへのクラスター全体の書き込みアクセスが削除されます。さらに、deployments、statefulsets、deployment/finalizersなどのリソースにクラスター全体のアクセスが削除されます。 -
caching.internal.knative.devグループのimageカスタムリソース定義は Tekton により使用されず、本リリースで除外されます。
4.1.5.4. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
git-cli クラスタータスクは、alpine/git ベースイメージから構築されます。これは、
/rootがユーザーのホームディレクトリーであると想定します。ただし、これはgit-cliクラスタータスクに明示的に設定されません。Tekton では、特に指定がない場合は、デフォルトのホームディレクトリーはタスクのすべての手順で
/tekton/homeで上書きされます。ベースイメージの$HOME環境変数を上書きすると、git-cliクラスタータスクが失敗します。この問題は、今後のリリースで修正される予定です。Red Hat OpenShift Pipelines 1.5 以前のバージョンでは、以下の回避策のいずれかを使用 して、
git-cliクラスタータスクの失敗を防ぐことができます。この手順で
$HOME環境変数を設定します。これにより、上書きされないようにします。-
[オプション] Operator を使用して Red Hat OpenShift Pipeline をインストールしている場合は、
git-cliクラスタータスクを別のタスクにクローンします。このアプローチにより、Operator はクラスタータスクに加えられた変更を上書きしないようにします。 -
oc edit clustertasks git-cliコマンドを実行します。 予想される
HOME環境変数をステップの YAML に追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 警告オペレーターがインストールした Red Hat OpenShift Pipelines の場合、
HOME環境変数を変更する前にgit-cliクラスタータスクを別のタスクに複製しないと、Operator の調整中に変更が上書きされます。
-
[オプション] Operator を使用して Red Hat OpenShift Pipeline をインストールしている場合は、
feature-flags設定マップでHOME環境変数の上書きを無効にします。-
oc edit -n openshift-pipelines configmap feature-flagsコマンドを実行します。 disable-home-env-overwriteフラグの値をtrueに設定します。警告- Operator を使用して Red Hat OpenShift Pipelines をインストールしている場合、変更は Operator の調整時に上書きされます。
-
disable-home-env-overwriteフラグのデフォルト値を変更すると、すべてのタスクのデフォルトの動作を変更するため、他のタスクやクラスタータスクが破損する可能性があります。
-
パイプラインのデフォルトサービスアカウントが使用される場合に
HOME環境変数の上書きを行うため、git-cliクラスタータスクに別のサービスアカウントを使用します。- 新規のサービスアカウントを作成します。
- 作成したサービスアカウントに Git シークレットをリンクします。
- タスクまたはパイプラインの実行中にサービスアカウントを使用します。
-
IBM Power Systems、IBM Z、および LinuxONE では、
s2i-dotnetクラスタータスクとtkn hubコマンドはサポートされません。 -
Maven および Jib Maven クラスタータスクを実行する場合には、デフォルトのコンテナーイメージは Intel(x86) アーキテクチャーでのみサポートされます。したがって、IBM Power Systems(ppc64le)、IBM Z、および LinuxONE(s390x) クラスターではタスクに失敗します。回避策として、
MAVEN_IMAGEパラメーターの値をmaven:3.6.3-adoptopenjdk-11に設定すると、カスタムイメージを指定できます。
4.1.5.5. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
dagタスクのwhen式は、他のタスクの実行ステータス ($(tasks.<pipelineTask>.status)) にアクセスするコンテキスト変数を指定できません。 -
PipelineRunリソースがすぐに削除されてから再作成される状況で、volumeClaimTemplatePVC を削除することにより作成される競合状態を回避するのに役立つため、所有者名の代わりに所有者 UID を使用します。 -
root 以外のユーザーによってトリガーされる
build-baseイメージのpullrequest-initに新しい Dockerfile が追加されます。 -
パイプラインまたはタスクが
-fオプションで実行され、その定義のparamにtypeが定義されていない場合は、パイプラインまたはタスク実行が失敗する代わりに検証エラーが生成されます。 -
tkn start [task | pipeline | clustertask]コマンドの場合は、--workspaceフラグの説明に一貫性が保たれました。 - パラメーターを解析する際に、空の配列が発生すると、対応する対話的なヘルプが空の文字列として表示されるようになりました。
4.1.6. Red Hat OpenShift Pipelines General Availability (GA) 1.4 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines General Availability (GA) 1.4 が OpenShift Container Platform 4.7 で利用可能になりました。
stable および preview Operator チャネルのほかに、Red Hat OpenShift Pipelines Operator 1.4.0 には ocp-4.6、ocp-4.5、および ocp-4.4 の非推奨チャネルが同梱されます。これらの非推奨チャネルおよびそれらのサポートは、Red Hat OpenShift Pipelines の以下のリリースで削除されます。
4.1.6.1. 互換性およびサポート表 リンクのコピーリンクがクリップボードにコピーされました!
現在、今回のリリースに含まれる機能には テクノロジープレビュー のものがあります。これらの実験的機能は、実稼働環境での使用を目的としていません。
以下の表では、機能は以下のステータスでマークされています。
| TP | テクノロジープレビュー |
| GA | 一般公開 |
これらの機能に関しては、Red Hat カスタマーポータルの以下のサポート範囲を参照してください。
| 機能 | バージョン | サポートステータス |
|---|---|---|
| パイプライン | 0.22 | GA |
| CLI | 0.17 | GA |
| カタログ | 0.22 | GA |
| トリガー | 0.12 | TP |
| パイプラインリソース | - | TP |
質問やフィードバックについては、製品チームに pipelines-interest@redhat.com 宛のメールを送信してください。
4.1.6.2. 新機能 リンクのコピーリンクがクリップボードにコピーされました!
以下のセクションでは、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.4 の主な新機能について説明します。
カスタムタスクには、以下の機能強化が含まれます。
- パイプラインの結果として、カスタムタスクで生成される結果を参照できるようになりました。
- カスタムタスクはワークスペース、サービスアカウント、および Pod テンプレートを使用して、より複雑なカスタムタスクをビルドできるようになりました。
finallyタスクには、以下の機能強化が含まれます。-
when式は最後のタスクでサポートされます。これにより、効率的に保護された実行が可能になり、タスクの再利用性が向上します。 finallyタスクは、同じパイプライン内のタスクの結果を使用するように設定できます。注記when式およびfinallyタスクのサポートは OpenShift Container Platform 4.7 Web コンソールでは利用できません。
-
-
dockercfgまたはdockerconfigjsonタイプの複数のシークレットのサポートがランタイム時に認証用に追加されました。 -
git-cloneタスクでスパースチェックをサポートする機能が追加されました。これにより、ローカルコピーとしてリポジトリーのサブセットのみをクローンすることができ、これはクローン作成したリポジトリーのサイズを制限するのに便利です。 - 実際に起動せずに、パイプライン実行を保留中の状態で作成できます。負荷が大きいクラスターでは、これにより、Operator はパイプライン実行の開始時間を制御することができます。
-
コントローラー用に
SYSTEM_NAMESPACE環境変数を手動で設定していることを確認します。これは以前はデフォルトで設定されていました。 -
root 以外のユーザーがパイプラインのビルドベースイメージに追加され、
git-initがリポジトリーのクローンを root 以外のユーザーとして作成できるようになりました。 - パイプライン実行の開始前に解決されたリソース間で依存関係を検証するサポートが追加されています。パイプラインのすべての結果変数は有効でなければならず、パイプラインからのオプションのワークスペースは、パイプライン実行の開始に使用することが予想されているタスクにのみ渡すことができます。
- コントローラーおよび Webhook は root 以外のグループとして実行され、それらの必要以上の機能は削除され、よりセキュアになりました。
-
tkn pr logsコマンドを使用して、再試行されたタスク実行のログストリームを表示できます。 -
tkn tr deleteコマンドで--clustertaskオプションを使用して、特定のクラスタータスクに関連付けられたすべてのタスク実行を削除できます。 -
EventListenerリソースでの Knative サービスのサポートは、新規のcustomResourceフィールドを導入して追加されます。 - イベントペイロードが JSON 形式を使用しない場合にエラーメッセージが表示されます。
-
GitLab、BitBucket、GitHub などのソース制御インターセプターは、新規の
InterceptorRequestまたはInterceptorResponseを使用できるようになりました。 -
新しい CEL 関数の
marshalJSONが実装され、JSON オブジェクトまたは配列を文字列にエンコードできます。 -
CEL およびソース制御コアインターセプターを提供する HTTP ハンドラーが追加されました。これは、
tekton-pipelinesnamespace にデプロイされる単一の HTTP サーバーに 4 つのコアインターセプターをパッケージ化します。EventListenerオブジェクトは、HTTP サーバー経由でイベントをインターセプターに転送します。それぞれのインターセプターは異なるパスで利用できます。たとえば、CEL インターセプターは/celパスで利用できます。 pipelines-sccSCC (Security Context Constraint) は、パイプラインのデフォルトpipelineサービスアカウントで使用されます。この新規サービスアカウントはanyuidと似ていますが、OpenShift Container Platform 4.7 の SCC について YAML に定義されるように若干の違いがあります。fsGroup: type: MustRunAs
fsGroup: type: MustRunAsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.6.3. 非推奨の機能 リンクのコピーリンクがクリップボードにコピーされました!
-
パイプラインリソースストレージの
build-gcsサブタイプ、およびgcs-fetcherイメージは、サポートされていません。 -
クラスタータスクの
taskRunフィールドで、tekton.dev/taskラベルが削除されます。 -
Webhook の場合、フィールド
admissionReviewVersionsに対応する値v1beta1は削除されます。 -
ビルドおよびデプロイ用の
creds-initヘルパーイメージが削除されます。 トリガー仕様およびバインディングでは、
template.refが優先されるため、非推奨フィールドのtemplate.nameが削除されます。refフィールドを使用するには、eventListenerのすべての定義を更新する必要があります。注記template.nameフィールドが利用できないため、Pipelines 1.3.x 以前のバージョンから Pipelines 1.4.0 へのアップグレードにより、イベントリスナーが破損します。このような場合には、Pipelines 1.4.1 を使用して、復元されたtemplate.nameフィールドを利用します。-
EventListenerカスタムリソース/オブジェクトの場合、Resourceが優先されるために、PodTemplateおよびServiceTypeフィールドは非推奨になりました。 - 非推奨の仕様スタイルの埋め込みバインディングは削除されています。
-
specフィールドはtriggerSpecBindingから削除されています。 - イベント ID 表現は、5 文字のランダムな文字列から UUID に変更されています。
4.1.6.4. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
- Developer パースペクティブでは、Pipeline メトリクスおよびトリガー機能は OpenShift Container Platform 4.7.6 以降のバージョンでのみ利用できます。
-
IBM Power Systems、IBM Z、および LinuxONE では、
tkn hubコマンドはサポートされません。 -
IBM Power Systems (ppc64le)、IBM Z、および LinuxONE (s390x) クラスターで Maven および Jib Maven クラスタータスクを実行する場合、
MAVEN_IMAGEパラメーターの値をmaven:3.6.3-adoptopenjdk-11に設定します。 トリガーは、トリガーバインディングに以下の設定がある場合は、JSON 形式の正しくない処理によって生じるエラーを出力します。
params: - name: github_json value: $(body)params: - name: github_json value: $(body)Copy to Clipboard Copied! Toggle word wrap Toggle overflow この問題を解決するには、以下を実行します。
-
トリガー v0.11.0 以降を使用している場合、
marshalJSON関数を使用して JSON オブジェクトまたは配列を取得し、そのオブジェクトまたは配列の JSON エンコーディングを文字列として返します。 古いバージョンのトリガーを使用している場合は、以下のアノテーションをトリガーテンプレートに追加します。
annotations: triggers.tekton.dev/old-escape-quotes: "true"
annotations: triggers.tekton.dev/old-escape-quotes: "true"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
トリガー v0.11.0 以降を使用している場合、
- Pipelines 1.3.x から 1.4.x にアップグレードする際に、ルートを再作成する必要があります。
4.1.6.5. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
以前のバージョンでは、
tekton.dev/taskラベルがクラスタータスクのタスク実行から削除され、tekton.dev/clusterTask ラベルが導入されました。この変更により生じる問題は、clustertask describeおよびdeleteコマンドを修正して解決されています。さらに、タスクのlastrun機能は変更され、古いバージョンのパイプラインでタスクとクラスタータスクの両方のタスク実行に適用されるtekton.dev/taskラベルの問題を修正できるになりました。 -
対話的な
tkn pipeline start pipelinenameを実行する場合、PipelineResourceが対話的に作成されます。tkn p startコマンドは、リソースのステータスがnilではない場合にリソースのステータスを出力します。 -
以前のバージョンでは、
tekton.dev/task=nameラベルは、クラスタータスクから作成されるタスク実行から削除されました。今回の修正により、--lastフラグの指定されるtkn clustertask startコマンドが変更され、作成されたタスク実行でtekton.dev/task=nameラベルの有無がチェックされるようになりました。 -
タスクがインラインのタスク仕様を使用する場合、対応するタスク実行は
tkn pipeline describeコマンドの実行時にパイプラインに組み込まれ、タスク名は埋め込まれた状態で返されます。 -
tkn versionコマンドは、設定されたkubeConfiguration namespaceやクラスターへのアクセスなしに、インストールされた Tekton CLI ツールのバージョンを表示するように修正されています。 -
引数が予期せずに使用されるか、または複数の引数が使用される場合、
tkn completionコマンドでエラーが発生します。 -
以前のバージョンでは、パイプライン仕様でネスト化された
finallyタスクのあるパイプライン実行は、v1alpha1バージョンに変換され、v1beta1バージョンに戻されると、それらのfinallyタスクを失うことがあります。変換中に発生するこのエラーは修正され、潜在的データ損失を防ぐことができます。finallyタスクがパイプライン仕様でネスト化されたパイプライン実行はシリアライズされ、アルファバージョンに保存されてデシリアライズは後に実行されるようになりました。 -
以前のバージョンでは、サービスアカウントで
secretsフィールドに{}があると、Pod の生成でエラーが発生しました。空のシークレット名を持つ GET 要求がエラーがリソース名が空ではないことを示すエラーを返すため、タスク実行はCouldntGetTaskで失敗しました。この問題は、kubeclientGET 要求で空のシークレット名を使用しないことで解決されています。 -
v1beta1API バージョンのあるパイプラインは、finallyタスクを失うことなく、v1alpha1バージョンと共に要求できるようになりました。返されるv1alpha1バージョンを適用すると、リソースがv1beta1として保存され、finallyセクションがその元の状態に戻ります。 -
以前のバージョンでは、コントローラーの
selfLinkフィールドが設定されていないと、Kubernetes v1.20 クラスターでエラーが発生しました。一時的な修正として、CloudEventソースフィールドは、自動設定されるselfLinkフィールドの値なしに現在のソース URI に一致する値に設定されます。 -
以前のバージョンでは、
gcr.ioなどのドットの付いたシークレット名により、タスク実行の作成が失敗しました。これは、シークレット名がボリュームマウント名の一部として内部で使用されるために生じました。ボリュームマウント名は RFC1123 DNS ラベルに準拠し、名前の一部として使用されるドットを許可しません。この問題は、ドットをダッシュに置き換えることで解決し、これにより名前の読み取りが可能になりました。 -
コンテキスト変数は、
finallyタスクで検証されるようになりました。 -
以前のバージョンでは、タスク実行リコンサイラーが渡され、作成した Pod の名前を含む直前のステータス更新を持たないタスク実行があると、タスク実行リコンサイラーはタスク実行に関連付けられた Pod を一覧表示しました。タスク実行リコンサイラーは、Pod を検索するために、Pod に伝播されるタスク実行のラベルを使用しました。タスク実行の実行中にこれらのラベルを変更すると、コードが既存の Pod を見つけることができませんでした。その結果、重複した Pod が作成されました。この問題は、Pod の検索時に
tekton.dev/taskRunの Tekton で制御されるラベルのみを使用するようにタスク実行リコンサイラーを変更することで修正されています。 - 以前のバージョンでは、パイプラインがオプションのワークスペースを受け入れ、これをパイプラインタスクに渡すと、パイプライン実行リコンサイラーは、ワークスペースが提供されておらず、欠落しているワークスペースのバインディングがオプションのワークスペースについて有効な場合でも、エラーを出して停止しました。この問題は、オプションのワークスペースが指定されていない場合でも、パイプライン実行リコンサイラーがタスク実行の作成に失敗しないようにすることで修正されています。
- ステップのステータスの並び順は、ステップコンテナーの順序と一致します。
-
以前のバージョンでは、Pod で
CreateContainerConfigErrorの理由が出されると、タスク実行のステータスはunknownに設定されました。これは、タスクおよびパイプラインが Pod がタイムアウトするまで実行されることを意味しました。この問題は、Pod でCreateContainerConfigErrorの理由が出される際にタスクを失敗 (failed) として設定できるようにタスク実行ステータスをfalseに設定することで解決されています。 -
以前のバージョンでは、パイプライン実行の完了後に、パイプラインの結果は最初の調整で解決されました。これにより解決が失敗し、パイプライン実行の
Succeeded状態が上書きされる可能性がありました。その結果、最終のステータス情報が失われ、パイプライン実行の状態を監視するすべてのサービスに混乱を生じさせる可能性がありました。この問題は、パイプライン実行がSucceededまたはTrue状態になる際に、パイプラインの結果の解決を調整の最後に移行することにで解決されました。 - 実行ステータス変数が検証されるようになりました。これにより、実行ステータスにアクセスするためのコンテキスト変数の検証中に、タスク結果が検証されることを防ぐことができます。
- 以前のバージョンでは、無効な変数を含むパイプラインの結果は、変数のリテラル式はそのままの状態でパイプライン実行に追加されます。そのため、結果が正しく設定されているかどうかを評価することは容易ではありませんでした。この問題は、失敗したタスク実行を参照するパイプライン実行結果でフィルターリングすることで解決されています。無効な変数を含むパイプラインの結果は、パイプライン実行によって出されなくなりました。
-
tkn eventlistener describeコマンドは、テンプレートなしでクラッシュを回避できるように修正されています。また、トリガーの参照に関する情報も表示します。 -
template.nameが利用できないため、Pipelines 1.3.x 以前のバージョンから Pipelines 1.4.0 へのアップグレードにより、イベントリスナーが破損します。Pipelines 1.4.1 では、トリガーでイベントリスナーが破損しないように、template.nameが復元されています。 -
Pipelines 1.4.1 では、
ConsoleQuickStartカスタムリソースが OpenShift Container Platform 4.7 の機能および動作に合わせて更新されました。
4.1.7. Red Hat OpenShift Pipelines テクノロジープレビュー 1.3 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
4.1.7.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 の主な新機能について説明します。
4.1.7.1.1. パイプライン リンクのコピーリンクがクリップボードにコピーされました!
- 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 テンプレートで指定されたアフィニティーがアフィニティーアシスタントによって上書きされる場合に警告イベントを生成します。
- タスク実行リコンサイラーは、タスク実行が完了すると生成されるクラウドイベントのメトリクスを記録するようになりました。これには再試行が含まれます。
4.1.7.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
4.1.7.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フィールド内にテンプレートを埋め込むことができます。
4.1.7.2. 非推奨の機能 リンクのコピーリンクがクリップボードにコピーされました!
-
PipelineResourcesCRD を使用する Pipeline テンプレートは非推奨となり、今後のリリースで削除されます。 -
template.refフィールドが優先されるため、template.nameフィールドは非推奨となり、今後のリリースで削除されます。 -
--checkコマンドの短縮形である-cが削除されました。さらに、グローバルtknフラグがversionコマンドに追加されます。
4.1.7.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 クラスタータスクと同じ方法で使用します。
4.1.7.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) が複数のワークスペースに使用される場合にサポートされるようになりましたが、サブパスは異なります。
4.1.8. Red Hat OpenShift Pipelines テクノロジープレビュー 1.2 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
4.1.8.1. 新機能 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines テクノロジープレビュー (TP) 1.2 が OpenShift Container Platform 4.6 で利用可能になりました。Red Hat OpenShift Pipelines TP 1.2 が以下をサポートするように更新されています。
- Tekton Pipelines 0.16.3
-
Tekton
tknCLI 0.13.1 - Tekton Triggers 0.8.1
- Tekton Catalog 0.16 をベースとするクラスタータスク
- OpenShift Container Platform 4.6 での IBM Power Systems
- OpenShift Container Platform 4.6 での IBM Z および LinuxONE
以下では、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.2 の主な新機能について説明します。
4.1.8.1.1. パイプライン リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines のリリースでは、非接続インストールのサポートが追加されました。
注記制限された環境でのインストールは現時点で、IBM Power Systems、IBM Z、および LinuxONE ではサポートされていません。
-
conditionsリソースの代わりにwhenフィールドを使用して、特定の条件が満たされる場合にのみタスクを実行できるようになりました。WhenExpressionの主なコンポーネントはInput、Operator、およびValuesです。すべての When 式がTrueに評価されると、タスクが実行されます。When 式のいずれかがFalseに評価されると、タスクはスキップされます。 - ステップのステータスは、タスクの実行がキャンセルまたはタイムアウトすると更新されるようになりました。
-
git-initが使用するベースイメージをビルドするために、Git Large File Storage (LFS) のサポートが利用できるようになりました。 -
taskSpecフィールドを使用して、タスクがパイプラインに組み込まれる際に、ラベルやアノテーションなどのメタデータを指定できるようになりました。 -
クラウドイベントがパイプラインの実行でサポートされるようになりました。
backoffを使用した再試行が、クラウドイベントパイプラインリソースによって送信されるクラウドイベントに対して有効になりました。 -
Taskリソースが宣言するものの、TaskRunリソースが明示的に指定しないワークスペースのデフォルトのWorkspace設定を設定できるようになりました。 -
サポートは、
PipelineRunnamespace およびTaskRunnamespace の namespace 変数の補間に利用できます。 -
TaskRunオブジェクトの検証が追加され、TaskRunリソースが Affinity Assistant に関連付けられる際に複数の永続ボリューム要求 (PVC) ワークスペースが使用されていないことを確認するようになりました。複数の永続ボリューム要求 (PVC) ワークスペースが使用されていると、タスクの実行はTaskRunValidationFailedの状態で失敗します。デフォルトで、Affinity Assistant は Red Hat OpenShift Pipelines で無効にされているため、これを使用できるように有効にする必要があります。
4.1.8.1.2. Pipelines CLI リンクのコピーリンクがクリップボードにコピーされました!
tkn task describe、tkn taskrun describe、tkn clustertask describe、tkn pipeline describe、およびtkn pipelinerun describeコマンドが以下を実行するようになりました。-
Task、TaskRun、ClusterTask、PipelineおよびPipelineRunリソースのいずれかが 1 つしかない場合、それぞれを自動的に選択します。 -
出力に
Task、TaskRun、ClusterTask、PipelineおよびPipelineRunリソースの結果をそれぞれ表示します。 -
出力に
Task、TaskRun、ClusterTask、PipelineおよびPipelineRunリソースで宣言されたワークスペースをそれぞれ表示します。
-
-
tkn clustertask startコマンドに--prefix-nameオプションを指定して、タスク実行の名前に接頭辞を指定できるようになりました。 -
インタラクティブモードのサポートが
tkn clustertask startコマンドに提供されるようになりました。 -
TaskRunおよびPipelineRunオブジェクトのローカルまたはリモートファイル定義を使用して、パイプラインでサポートされるPodTemplateプロパティーを指定できるようになりました。 -
--use-params-defaultsオプションをtkn clustertask startコマンドに指定して、ClusterTask設定に設定したデフォルト値を使用して、タスク実行を作成できるようになりました。 -
tkn pipeline startコマンドの--use-param-defaultsフラグで、デフォルトの値が一部のパラメーターに指定されていない場合に対話モードをプロンプトで表示するようになりました。
4.1.8.1.3. トリガー リンクのコピーリンクがクリップボードにコピーされました!
-
YAML 文字列を文字列のマップに解析するために、
parseYAMLという名前の Common Expression Language (CEL) 関数が追加されました。 - 式を評価する際や、評価環境を作成するためにフック本体を解析する際に、CEL 式の解析を行うエラーメッセージの詳細度が上がりました。
- ブール値とマップが CEL オーバーレイメカニズムで式の値として使用されている場合に、それらをマーシャリングするためのサポートが利用できるようになりました。
以下のフィールドが
EventListenerオブジェクトに追加されました。-
replicasフィールドは、YAML ファイルのレプリカ数を指定して、イベントリスナーが複数の Pod を実行できるようにします。 -
NodeSelectorフィールドでは、EventListenerオブジェクトがイベントリスナー Pod を特定のノードにスケジュールできるようにします。
-
-
Webhook インターセプターは
EventListener-Request-URLヘッダーを解析し、イベントリスナーによって処理される元のリクエスト URL からパラメーターを抽出できるようになりました。 - イベントリスナーからのアノテーションがデプロイメント、サービス、およびその他の Pod に伝播できるようになりました。サービスまたはデプロイメントのカスタムアノテーションは上書きされるため、イベントリスナーアノテーションに追加して伝播できるようにする必要があります。
-
EventListener仕様のレプリカの適切な検証が、ユーザーがspec.replicas値をnegativeまたはzeroとして指定する場合に利用できるようになりました。 -
TriggerCRDオブジェクトを、TriggerRefフィールドを使用して参照としてEventListener仕様内に指定し、TriggerCRDオブジェクトを別個に作成してから、これをEventListener仕様内でバインドできるようになりました。 -
TriggerCRDオブジェクトの検証およびデフォルト値が利用可能になりした。
4.1.8.2. 非推奨の機能 リンクのコピーリンクがクリップボードにコピーされました!
-
$(params)パラメーターはtriggertemplateリソースから削除され、$(tt.params)に置き換えられ、これによりresourcetemplateとtriggertemplateパラメーター間の混乱が生じなくなります。 -
オプションの
EventListenerTriggerベースの認証レベルのServiceAccount参照がServiceAccountName文字列へのオブジェクト参照から変更されました。これにより、ServiceAccount参照がEventListenerTriggerオブジェクトと同じ namespace に置かれるようになりました。 -
Conditionsカスタムリソース定義 (CRD) は非推奨となり、代わりにWhenExpressionsCRD が使用されます。 -
PipelineRun.Spec.ServiceAccountNamesオブジェクトは非推奨となり、PipelineRun.Spec.TaskRunSpec[].ServiceAccountNameオブジェクトによって置き換えられます。
4.1.8.3. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
- Red Hat OpenShift Pipelines のリリースでは、非接続インストールのサポートが追加されました。ただし、クラスタータスクで使用される一部のイメージは、非接続クラスターで動作するようにミラーリングする必要があります。
-
openshiftnamespace のパイプラインは、Red Hat OpenShift Pipelines Operator のアンインストール後に削除されません。oc delete pipelines -n openshift --allコマンドを使用してパイプラインを削除します。 Red Hat OpenShift Pipelines Operator をアンインストールしても、イベントリスナーは削除されません。
回避策として、
EventListenerおよびPodCRD を削除するには、以下を実行します。EventListenerオブジェクトをforegroundDeletionファイナライザーで編集します。oc patch el/<eventlistener_name> -p '{"metadata":{"finalizers":["foregroundDeletion"]}}' --type=merge$ oc patch el/<eventlistener_name> -p '{"metadata":{"finalizers":["foregroundDeletion"]}}' --type=mergeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc patch el/github-listener-interceptor -p '{"metadata":{"finalizers":["foregroundDeletion"]}}' --type=merge$ oc patch el/github-listener-interceptor -p '{"metadata":{"finalizers":["foregroundDeletion"]}}' --type=mergeCopy to Clipboard Copied! Toggle word wrap Toggle overflow EventListenerCRD を削除します。oc patch crd/eventlisteners.triggers.tekton.dev -p '{"metadata":{"finalizers":[]}}' --type=merge$ oc patch crd/eventlisteners.triggers.tekton.dev -p '{"metadata":{"finalizers":[]}}' --type=mergeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
IBM Power Systems (ppc64le) または IBM Z (s390x) クラスターでコマンド仕様なしにマルチアーキテクチャーコンテナーイメージタスクを実行すると、
TaskRunリソースは以下のエラーを出して失敗します。Error executing command: fork/exec /bin/bash: exec format error
Error executing command: fork/exec /bin/bash: exec format errorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 回避策として、アーキテクチャー固有のコンテナーイメージを使用するか、または正しいアーキテクチャーを参照する sha256 ダイジェストを指定します。sha256 ダイジェストを取得するには、以下を実行します。
skopeo inspect --raw <image_name>| jq '.manifests[] | select(.platform.architecture == "<architecture>") | .digest'
$ skopeo inspect --raw <image_name>| jq '.manifests[] | select(.platform.architecture == "<architecture>") | .digest'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.8.4. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
- CEL フィルター、Webhook バリデーターのオーバーレイ、およびインターセプターの式を確認するための簡単な構文検証が追加されました。
- Trigger は、基礎となるデプロイメントおよびサービスオブジェクトに設定されたアノテーションを上書きしなくなりました。
-
以前のバージョンでは、イベントリスナーはイベントの受け入れを停止しました。今回の修正により、この問題を解決するために
EventListenerシンクの 120 秒のアイドルタイムアウトが追加されました。 -
以前のバージョンでは、
Failed(Canceled)状態でパイプラインの実行を取り消すと、成功のメッセージが表示されました。これは、代わりにエラーが表示されるように修正されました。 -
tkn eventlistener listコマンドが一覧表示されたイベントリスナーのステータスを提供するようになり、利用可能なイベントリスナーを簡単に特定できるようになりました。 -
トリガーがインストールされていない場合や、リソースが見つからない場合に、
triggers listおよびtriggers describeコマンドについて一貫性のあるエラーメッセージが表示されるようになりました。 -
以前のバージョンでは、多くのアイドル接続がクラウドイベントの配信時に増大しました。この問題を修正するために、
DisableKeepAlives: trueパラメーターがcloudeventclient設定に追加されました。新規の接続がすべてのクラウドイベントに設定されます。 -
以前のバージョンでは、特定のタイプの認証情報が指定されていない場合であっても、
creds-initコードが空のファイルをディスクに書き込みました。今回の修正により、creds-initコードが変更され、正しくアノテーションが付けられたシークレットから実際にマウントされた認証情報のみのファイルを書き込むようになりました。
4.1.9. Red Hat OpenShift Pipelines テクノロジープレビュー 1.1 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
4.1.9.1. 新機能 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines テクノロジープレビュー (TP) 1.1 が OpenShift Container Platform 4.5 で利用可能になりました。Red Hat OpenShift Pipelines TP 1.1 が以下をサポートするように更新されています。
- Tekton Pipelines 0.14.3
-
Tekton
tknCLI 0.11.0 - Tekton Triggers 0.6.1
- Tekton Catalog 0.14 をベースとするクラスタータスク
以下では、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.1 の主な新機能について説明します。
4.1.9.1.1. パイプライン リンクのコピーリンクがクリップボードにコピーされました!
- ワークスペースをパイプラインリソースの代わりに使用できるようになりました。パイプラインリソースはデバッグが容易ではなく、スコープの制限があり、タスクの再利用を可能にしないため、OpenShift Pipelines ではワークスペースを使用することが推奨されます。ワークスペースの詳細は、OpenShift Pipelines のセクションを参照してください。
ボリューム要求テンプレートのワークスペースのサポートが追加されました。
- パイプライン実行およびタスク実行のボリューム要求テンプレートがワークスペースのボリュームソースとして追加できるようになりました。次に、tekton-controller はパイプラインのすべてのタスク実行の PVC として表示されるテンプレートを使用して永続ボリューム要求 (PVC) を作成します。したがって、複数のタスクにまたがるワークスペースをバインドするたびに PVC 設定を定義する必要はありません。
- ボリューム要求テンプレートがボリュームソースとして使用される場合の PVC の名前検索のサポートが、変数の置換を使用して利用できるようになりました。
監査を強化するサポート:
-
PipelineRun.Statusフィールドには、パイプラインのすべてのタスク実行のステータスと、パイプライン実行の進捗をモニターするためにパイプライン実行をインスタンス化する際に使用するパイプライン仕様が含まれるようになりました。 -
Pipeline の結果が Pipeline 仕様および
PipelineRunステータスに追加されました。 -
TaskRun.Statusフィールドには、TaskRunリソースのインスタンス化に使用される実際のタスク仕様が含まれるようになりました。
-
- デフォルトパラメーターを各種の状態に適用するサポート。
-
クラスタータスクを参照して作成されるタスク実行は、
tekton.dev/taskラベルではなくtekton.dev/clusterTaskラベルを追加するようになりました。 -
kube config writer は、kubeconfig-creator タスクでパイプラインリソースタイプクラスターの置き換えを有効にするために
ClientKeyDataおよびClientCertificateData設定をリソース構造に追加できるようになりました。 -
feature-flagsおよびconfig-defaults設定マップの名前はカスタマイズ可能になりました。 - タスク実行で使用される Pod テンプレートのホストネットワークのサポートが追加されました。
- Affinity Assistant が、ワークスペースボリュームを共有するタスク実行のノードのアフィニティーをサポートするようになりました。デフォルトで、これは OpenShift Pipelines で無効にされます。
-
Pod テンプレートは、Pod の起動時にコンテナーイメージのプルを許可するためにコンテナーランタイムが使用するシークレットを特定するために
imagePullSecretsを指定するように更新されました。 - コントローラーがタスク実行の更新に失敗した場合にタスク実行コントローラーから警告イベントを出すためのサポート。
- アプリケーションまたはコンポーネントに属するリソースを特定するために、すべてのリソースに標準または推奨される k8s ラベルが追加されました。
-
Entrypointプロセスがシグナルについて通知されるようになり、これらのシグナルはEntrypointプロセスの専用の PID グループを使用して伝播されるようになりました。 - Pod テンプレートはタスク実行仕様を使用してランタイム時にタスクレベルで設定できるようになりました。
Kubernetes イベントを生成するサポート。
-
コントローラーは、追加のタスク実行ライフサイクルイベント (
taskrun startedおよびtaskrun running) のイベントを生成するようになりました。 - パイプライン実行コントローラーは、パイプラインの起動時に毎回イベントを生成するようになりました。
-
コントローラーは、追加のタスク実行ライフサイクルイベント (
- デフォルトの Kubernetes イベントのほかに、タスク実行のクラウドイベントのサポートが利用可能になりました。コントローラーは、クラウドイベントとして create、started、および failed などのタスク実行イベントを送信するように設定できます。
-
パイプライン実行およびタスク実行の場合に適切な名前を参照するための
$context.<taskRun|pipeline|pipelineRun>.name変数を使用するサポート。 - パイプライン実行パラメーターの検証が、パイプラインで必要なすべてのパラメーターがパイプライン実行によって提供できるようにするために利用可能になりました。これにより、パイプライン実行は必要なパラメーターに加えて追加のパラメーターを指定することもできます。
-
パイプライン YAML ファイルの
finallyフィールドを使用して、すべてのタスクが正常に終了するか、またはパイプラインのタスクの失敗後、パイプラインが終了する前に常に実行されるパイプライン内でタスクを指定できるようになりました。 -
git-cloneクラスタータスクが利用できるようになりました。
4.1.9.1.2. Pipelines CLI リンクのコピーリンクがクリップボードにコピーされました!
-
組み込まれた Trigger バインディングのサポートが、
tkn evenlistener describeコマンドで利用できるようになりました。 - 正しくないサブコマンドが使用される場合にサブコマンドを推奨し、提案するためのサポート。
-
tkn task describeコマンドは、1 つのタスクのみがパイプラインに存在する場合にタスクを自動的に選択できるようになりました。 -
--use-param-defaultsフラグをtkn task startコマンドに指定することにより、デフォルトのパラメーター値を使用してタスクを起動できるようになりました。 -
--workspaceオプションをtkn pipeline startまたはtkn task startコマンドで使用して、パイプライン実行またはタスク実行のボリューム要求テンプレートを指定できるようになりました。 -
tkn pipelinerun logsコマンドに、finallyセクションに一覧表示される最終タスクのログが表示されるようになりました。 -
インタラクティブモードのサポートが、以下の
tknリソース向けにtkn task startコマンドおよびdescribeサブコマンドに追加されました:pipeline、pipelinerun、task、taskrun、clustertaskおよびpipelineresource。 -
tkn versionコマンドで、クラスターにインストールされているトリガー のバージョンが表示されるようになりました。 -
tkn pipeline describeコマンドで、パイプラインで使用されるタスクに指定されたパラメーター値およびタイムアウトが表示されるようになりました。 -
最近のパイプライン実行またはタスク実行をそれぞれ記述できるように、
tkn pipelinerun describeおよびtkn taskrun describeコマンドの--lastオプションのサポートが追加されました。 -
tkn pipeline describeコマンドに、パイプラインのタスクに適用される各種の状態が表示されるようになりました。 -
--no-headersおよび--all-namespacesフラグをtkn resource listコマンドで使用できるようになりました。
4.1.9.1.3. トリガー リンクのコピーリンクがクリップボードにコピーされました!
以下の Common Expression Language (CEL) 機能が利用できるようになりました。
-
parseURL: URL の一部を解析し、抽出します。 -
parseJSON:deploymentwebhook のpayloadフィールドの文字列に埋め込まれた JSON 値タイプを解析します。
-
- Bitbucket からの Webhook の新規インターセプターが追加されました。
-
イベントリスナーは、
kubectl getコマンドで一覧表示される際の追加フィールドとしてAddress URLおよびAvailable statusを表示します。 -
トリガーテンプレートパラメーターは、
$(params.<paramName>)ではなく$(tt.params.<paramName>)構文を使用するようになり、トリガーテンプレートとリソーステンプレートパラメーター間で生じる混乱が軽減されました。 -
EventListenerCRD にtolerationsを追加し、セキュリティーや管理上の問題によりすべてのノードにテイントのマークが付けられる場合でもイベントリスナーが同じ設定でデプロイされるようにできるようになりました。 -
イベントリスナー Deployment の Readiness Probe を
URL/liveに追加できるようになりました。 -
イベントリスナートリガーでの
TriggerBinding仕様の埋め込みのサポート。 -
Trigger リソースに推奨される
app.kubernetes.ioラベルでアノテーションが付けられるようになりました。
4.1.9.2. 非推奨の機能 リンクのコピーリンクがクリップボードにコピーされました!
本リリースでは、以下の項目が非推奨になりました。
-
clustertaskコマンドおよびclustertriggerbindingコマンドを含む、クラスター全体のすべてのコマンドの--namespaceまたは-nフラグが非推奨になりました。これは今後のリリースで削除されます。 -
refフィールドが優先されるため、イベントリスナー内のtriggers.bindingsのnameフィールドは非推奨となり、今後のリリースで削除されます。 -
$(tt.params)が優先されるため、$(params)を使用したトリガーテンプレートの変数の補間が非推奨となり、これにより、パイプライン変数の補間構文に関連した混乱が軽減されました。$(params.<paramName>)構文は今後のリリースで削除されます。 -
tekton.dev/taskラベルはクラスタータスクで非推奨になりました。 -
TaskRun.Status.ResourceResults.ResourceRefフィールドは非推奨となり、今後削除されます。 -
tkn pipeline create、tkn task create、およびtkn resource create -fサブコマンドが削除されました。 -
namespace の検証が
tknコマンドから削除されました。 -
tkn ct startコマンドのデフォルトタイムアウトの1hおよび-tフラグが削除されました。 -
s2iクラスタータスクが非推奨になりました。
4.1.9.3. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
- 各種の状態はワークスペースには対応しません。
-
--workspaceオプションとおよびインタラクティブモードはtkn clustertask startコマンドではサポートされていません。 -
$(params.<paramName>)構文の後方互換性のサポートにより、トリガーテンプレートがパイプライン固有のパラメーターで強制的に使用されます。 トリガー webhook がトリガーパラメーターとパイプラインパラメーターを区別できないためです。 -
Pipeline メトリクスは、
tekton_taskrun_countおよびtekton_taskrun_duration_seconds_countの promQL を実行する際に正しくない値を報告します。 -
パイプライン実行およびタスク実行は、存在しない PVC 名がワークスペースに指定されている場合でも、それぞれ
RunningおよびRunning(Pending)の状態のままになります。
4.1.9.4. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
以前のバージョンでは、タスクおよびクラスタータスクの名前が同じ場合、
tkn task delete <name> --trsコマンドは、タスクとクラスタータスクの両方を削除しました。今回の修正により、コマンドはタスク<name>で作成されるタスク実行のみを削除するようになりました。 -
以前のバージョンでは、
tkn pr delete -p <name> --keep 2コマンドは、--keepフラグと共に使用する場合に-pフラグを無視し、最新の 2 つのパイプライン実行を除きすべてのパイプライン実行を削除しました。今回の修正により、コマンドは最新の 2 つのパイプライン実行を除き、パイプライン<name>で作成されるパイプライン実行のみを削除するようになりました。 -
tkn triggertemplate describe出力には、YAML 形式ではなくテーブル形式でリソーステンプレートが表示されるようになりました。 -
以前のバージョンでは、
buildahクラスタータスクは、新規ユーザーがコンテナーに追加されると失敗していました。今回の修正により、この問題は解決されています。
4.1.10. Red Hat OpenShift Pipelines テクノロジープレビュー 1.0 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
4.1.10.1. 新機能 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Pipelines テクノロジープレビュー (TP) 1.0 が OpenShift Container Platform 4.4 で利用可能になりました。Red Hat OpenShift Pipelines TP 1.0 が以下をサポートするように更新されています。
- Tekton Pipelines 0.11.3
-
Tekton
tknCLI 0.9.0 - Tekton Triggers 0.4.0
- Tekton Catalog 0.11 をベースとするクラスタータスク
以下では、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.0 の主な新機能について説明します。
4.1.10.1.1. パイプライン リンクのコピーリンクがクリップボードにコピーされました!
- v1beta1 API バージョンのサポート。
- 改善された制限範囲のサポート。以前のバージョンでは、制限範囲はタスク実行およびパイプライン実行に対してのみ指定されていました。制限範囲を明示的に指定する必要がなくなりました。namespace 間で最小の制限範囲が使用されます。
- タスク結果およびタスクパラメーターを使用してタスク間でデータを共有するためのサポート。
-
パイプラインは、
HOME環境変数および各ステップの作業ディレクトリーを上書きしないように設定できるようになりました。 -
タスクステップと同様に、
sidecarsがスクリプトモードをサポートするようになりました。 -
タスク実行
podTemplateリソースに別のスケジューラーの名前を指定できるようになりました。 - Star Array Notation を使用した変数置換のサポート。
- Tekton コントローラーは、個別の namespace を監視するように設定できるようになりました。
- パイプライン、タスク、クラスタータスク、リソース、および状態 (condition) の仕様に新規の説明フィールドが追加されました。
- Git パイプラインリソースへのプロキシーパラメーターの追加。
4.1.10.1.2. Pipelines CLI リンクのコピーリンクがクリップボードにコピーされました!
-
describeサブコマンドが以下のtknリソースについて追加されました。EventListener、Condition、TriggerTemplate、ClusterTask、およびTriggerSBinding。 -
v1beta1についてのサポートが、v1alpha1の後方互換性と共に以下のコマンドに追加されました。ClusterTask、Task、Pipeline、PipelineRun、およびTaskRun。 以下のコマンドは、
--all-namespacesフラグオプションを使用してすべての namespace からの出力を一覧表示できるようになりました。これらは、tkn task list、tkn pipeline list、tkn taskrun list、tkn pipelinerun listです。これらのコマンドの出力は、
--no-headersフラグオプションを使用してヘッダーなしで情報を表示するように強化されています。-
--use-param-defaultsフラグをtkn pipelines startコマンドに指定することにより、デフォルトのパラメーター値を使用してパイプラインを起動できるようになりました。 -
ワークスペースのサポートが
tkn pipeline startおよびtkn task startコマンドに追加されるようになりました。 -
新規の
clustertriggerbindingコマンドが以下のサブコマンドと共に追加されました。describe、delete、およびlist。 -
ローカルまたはリモートの
yamlファイルを使用してパイプラインの実行を直接開始できるようになりました。 -
describeサブコマンドには、強化され、詳細化した出力が表示されるようになりました。description、timeout、param description、およびsidecar statusなどの新規フィールドの追加により、コマンドの出力に特定のtknリソースについてのより詳細な情報が提供されるようになりました。 -
tkn task logコマンドには、1 つのタスクが namespace に存在する場合にログが直接表示されるようになりました。
4.1.10.1.3. トリガー リンクのコピーリンクがクリップボードにコピーされました!
-
Trigger は
v1alpha1およびv1beta1の両方のパイプラインリソースを作成できるようになりました。 -
新規 Common Expression Language (CEL) インターセプター機能
compareSecretのサポート。この機能は、文字列と CEL 式のシークレットを安全な方法で比較します。 - イベントリスナーのトリガーレベルでの認証および認可のサポート。
4.1.10.2. 非推奨の機能 リンクのコピーリンクがクリップボードにコピーされました!
本リリースでは、以下の項目が非推奨になりました。
環境変数
$HOME、およびSteps仕様の変数workingDirが非推奨となり、今後のリリースで変更される可能性があります。現時点でStepコンテナーでは、HOMEおよびworkingDir変数が/tekton/homeおよび/workspace変数にそれぞれ上書きされます。今後のリリースでは、これらの 2 つのフィールドは変更されず、コンテナーイメージおよび
TaskYAML で定義される値に設定されます。本リリースでは、disable-home-env-overwriteおよびdisable-working-directory-overwriteフラグを使用して、HOMEおよびworkingDir変数の上書きを無効にします。-
以下のコマンドは非推奨となり、今後のリリースで削除される可能性があります。
tkn pipeline create、tkn task create。 -
tkn resource createコマンドの-fフラグは非推奨になりました。これは今後のリリースで削除される可能性があります。 -
tkn clustertask createコマンドの-tフラグおよび--timeoutフラグ (秒単位の形式) は非推奨になりました。期間タイムアウトの形式のみがサポートされるようになりました (例:1h30s)。これらの非推奨のフラグは今後のリリースで削除される可能性があります。
4.1.10.3. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
- 以前のバージョンの Red Hat OpenShift Pipelines からアップグレードする場合は、既存のデプロイメントを削除してから Red Hat OpenShift Pipelines バージョン 1.0 にアップグレードする必要があります。既存のデプロイメントを削除するには、まずカスタムリソースを削除してから Red Hat OpenShift Pipelines Operator をアンインストールする必要があります。詳細は、Red Hat OpenShift Pipelines のアンインストールについてのセクションを参照してください。
-
同じ
v1alpha1タスクを複数回送信すると、エラーが発生します。v1alpha1タスクの再送信時に、oc applyではなくoc replaceコマンドを使用します。 buildahクラスタータスクは、新規ユーザーがコンテナーに追加されると機能しません。Operator がインストールされると、
buildahクラスタータスクの--storage-driverフラグが指定されていないため、フラグはデフォルト値に設定されます。これにより、ストレージドライバーが正しく設定されなくなることがあります。新規ユーザーが追加されると、storage-driver が間違っている場合に、buildahクラスタータスクが以下のエラーを出して失敗します。useradd: /etc/passwd.8: lock file already used useradd: cannot lock /etc/passwd; try again later.
useradd: /etc/passwd.8: lock file already used useradd: cannot lock /etc/passwd; try again later.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 回避策として、
buildah-task.yamlファイルで--storage-driverフラグの値をoverlayに手動で設定します。cluster-adminとしてクラスターにログインします。oc login -u <login> -p <password> https://openshift.example.com:6443
$ oc login -u <login> -p <password> https://openshift.example.com:6443Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc editコマンドを使用してbuildahクラスタータスクを編集します。oc edit clustertask buildah
$ oc edit clustertask buildahCopy to Clipboard Copied! Toggle word wrap Toggle overflow buildahclustertask YAML ファイルの現行バージョンがEDITOR環境変数で設定されたエディターで開かれます。Stepsフィールドで、以下のcommandフィールドを見つけます。command: ['buildah', 'bud', '--format=$(params.FORMAT)', '--tls-verify=$(params.TLSVERIFY)', '--layers', '-f', '$(params.DOCKERFILE)', '-t', '$(resources.outputs.image.url)', '$(params.CONTEXT)']
command: ['buildah', 'bud', '--format=$(params.FORMAT)', '--tls-verify=$(params.TLSVERIFY)', '--layers', '-f', '$(params.DOCKERFILE)', '-t', '$(resources.outputs.image.url)', '$(params.CONTEXT)']Copy to Clipboard Copied! Toggle word wrap Toggle overflow commandフィールドを以下に置き換えます。command: ['buildah', '--storage-driver=overlay', 'bud', '--format=$(params.FORMAT)', '--tls-verify=$(params.TLSVERIFY)', '--no-cache', '-f', '$(params.DOCKERFILE)', '-t', '$(params.IMAGE)', '$(params.CONTEXT)']
command: ['buildah', '--storage-driver=overlay', 'bud', '--format=$(params.FORMAT)', '--tls-verify=$(params.TLSVERIFY)', '--no-cache', '-f', '$(params.DOCKERFILE)', '-t', '$(params.IMAGE)', '$(params.CONTEXT)']Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ファイルを保存して終了します。
または、Pipelines
Cluster Tasks buildah に移動して、 buildahクラスタータスク YAML ファイルを Web コンソール上で直接変更することもできます。Actions メニューから Edit Cluster Task を選択し、直前の手順のようにcommandフィールドを置き換えます。
4.1.10.4. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
以前のリリースでは、
DeploymentConfigタスクは、イメージのビルドがすでに進行中であっても新規デプロイメントビルドをトリガーしていました。これにより、パイプラインのデプロイメントが失敗していました。今回の修正により、deploy taskコマンドがoc rollout statusコマンドに置き換えられ、進行中のデプロイメントが終了するまで待機するようになりました。 -
APP_NAMEパラメーターのサポートがパイプラインテンプレートに追加されました。 -
以前のバージョンでは、Java S2I のパイプラインテンプレートはレジストリーでイメージを検索できませんでした。今回の修正により、イメージはユーザーによって提供される
IMAGE_NAMEパラメーターの代わりに既存イメージのパイプラインリソースを使用して検索されるようになりました。 - OpenShift Pipelines イメージはすべて、Red Hat Universal Base Images (UBI) をベースにしています。
-
以前のバージョンでは、パイプラインが
tekton-pipelines以外の namespace にインストールされている場合、tkn versionコマンドはパイプラインのバージョンをunknownと表示していました。今回の修正により、tkn versionコマンドにより、正しいパイプラインのバージョンがすべての namespace で表示されるようになりました。 -
-cフラグはtkn versionコマンドでサポートされなくなりました。 - 管理者以外のユーザーがクラスタートリガーバインディングを一覧表示できるようになりました。
-
イベントリスナーの
CompareSecret機能が、CEL インターセプターについて修正されました。 -
タスクおよびクラスタータスクの
list、describe、およびstartサブコマンドは、タスクおよびクラスタータスクが同じ名前を持つ場合に出力に正常に表示されるようになりました。 - 以前のバージョンでは、OpenShift Pipelines Operator は特権付き SCC (Security Context Constraints) を変更していました。これにより、クラスターのアップグレード時にエラーが発生しました。このエラーは修正されています。
-
tekton-pipelinesnamespace では、設定マップを使用して、すべてのタスク実行およびパイプライン実行のタイムアウトがdefault-timeout-minutesフィールドの値に設定されるようになりました。 - 以前のバージョンでは、Web コンソールのパイプラインセクションは管理者以外のユーザーには表示されませんでした。この問題は解決されています。