1.6. Red Hat OpenShift Pipelines General Availability 1.8 のリリースノート
今回の更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.8 が OpenShift Container Platform 4.10、4.11、および 4.12 で利用できるようになりました。
1.6.1. 新機能 リンクのコピーリンクがクリップボードにコピーされました!
以下では、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.8 の主な新機能について説明します。
1.6.1.1. Pipelines リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新により、ARM ハードウェアで実行されている OpenShift Container Platform クラスターで Red Hat OpenShift Pipelines GA 1.8 以降を実行できるようになりました。これには、
ClusterTaskリソースとtknCLI ツールのサポートが含まれます。
ARM ハードウェアでの Red Hat OpenShift Pipelines の実行は、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
-
この更新では、
TaskRunリソースのStepおよびSidecarオーバーライドが実装されています。 この更新により、
PipelineRunステータス内に最小限のTaskRunおよびRunステータスが追加されます。この機能を有効にするには、
TektonConfigカスタムリソース定義のパイプラインセクションで、enable-api-fieldsフィールドをalphaに設定する必要があります。今回の更新により、パイプライン実行機能の正常な終了がアルファ機能から安定した機能に昇格されました。その結果、以前に廃止された
PipelineRunCancelledステータスは引き続き廃止され、将来のリリースで削除される予定です。この機能はデフォルトで使用できるため、
TektonConfigカスタムリソース定義でpipeline.enable-api-fieldsフィールドをalphaに設定する必要がなくなりました。今回の更新により、ワークスペースの名前を使用してパイプラインタスクのワークスペースを指定できるようになりました。この変更により、
PipelineおよびPipelineTaskリソースのペアに共有ワークスペースを指定できるようになりました。ワークスペースを明示的にマップすることもできます。この機能を有効にするには、
TektonConfigカスタムリソース定義のパイプラインセクションで、enable-api-fieldsフィールドをalphaに設定する必要があります。- 今回の更新により、埋め込み仕様のパラメーターが変更なしに伝播されるようになりました。
-
今回の更新により、アノテーションとラベルを使用して、
PipelineRunリソースによって参照されるTaskリソースの必要なメタデータを指定できるようになりました。これにより、実行コンテキストに依存するTaskメタデータは、パイプライン実行時に利用できます。 -
この更新により、
paramsとresultsの値にオブジェクトまたはディクショナリータイプのサポートが追加されました。この変更は後方互換性に影響し、以前のクライアントを新しい Red Hat OpenShift Pipelines バージョンで使用するなど、前方互換性を損なう場合があります。この更新により、ArrayOrStruct構造が変更されます。これは、Go 言語 API をライブラリーとして使用するプロジェクトに影響します。 -
この更新により、
SkippingReason値がPipelineRunステータスフィールドのSkippedTasksフィールドに追加され、特定の PipelineTask がスキップされた理由をユーザーが知ることができるようになりました。 この更新プログラムは、
Taskオブジェクトから結果を発行するためにarray型を使用できるアルファ機能をサポートします。結果の型はstringからArrayOrStringに変更されています。たとえば、タスクはタイプを指定してアレイの結果を生成できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow さらに、タスクスクリプトを実行して、結果をアレイで入力できます。
echo -n "[\"hello\",\"world\"]" | tee $(results.array-results.path)
$ echo -n "[\"hello\",\"world\"]" | tee $(results.array-results.path)Copy to Clipboard Copied! Toggle word wrap Toggle overflow この機能を有効にするには、
TektonConfigカスタムリソース定義のパイプラインセクションで、enable-api-fieldsフィールドをalphaに設定する必要があります。この機能は進行中であり、TEP-0076 の一部です。
1.6.1.2. トリガー リンクのコピーリンクがクリップボードにコピーされました!
この更新により、
EventListener仕様のTriggerGroupsフィールドがアルファ機能から安定した機能に移行します。このフィールドを使用すると、トリガーのグループを選択および実行する前にインターセプターのセットを指定できます。この機能はデフォルトで使用できるため、
TektonConfigカスタムリソース定義でpipeline.enable-api-fieldsフィールドをalphaに設定する必要がなくなりました。-
今回の更新により、
Triggerリソースは、HTTPS を使用してClusterInterceptorサーバーを実行することにより、エンドツーエンドの安全な接続をサポートします。
1.6.1.3. CLI リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新では、
tkn taskrun exportコマンドを使用して、ライブタスクの実行をクラスターから YAML ファイルにエクスポートできます。これを使用して、タスクの実行を別のクラスターにインポートできます。 -
今回の更新により、
tkn pipeline startコマンドに-o nameフラグを追加して、開始直後にパイプライン実行の名前を出力できるようになりました。 -
今回の更新により、利用可能なプラグインの一覧が
tkn --helpコマンドの出力に追加されました。 -
今回の更新により、パイプラインの実行またはタスクの実行を削除する際に、
--keepフラグと--keep-sinceフラグの両方を一緒に使用できるようになりました。 -
今回の更新により、非推奨の
PipelineRunCancelled値ではなく、spec.statusフィールドの値としてCanceledを使用できるようになりました。
1.6.1.4. Operator リンクのコピーリンクがクリップボードにコピーされました!
- 今回の更新により、管理者はローカルの Tekton Hub インスタンスを設定して、デフォルトデータベースではなくカスタムデータベースを使用できるようになりました。
今回の更新では、クラスター管理者としてローカルの Tekton Hub インスタンスを有効にすると、データベースが定期的に更新され、カタログの変更が Tekton Hub Web コンソールに表示されるようになります。更新の間隔は調整できます。
以前は、カタログ内のタスクとパイプラインをデータベースに追加するために、そのタスクを手動で実行するか、cron ジョブをセットアップして実行していました。
- 今回の更新で、最小限の設定で Tekton Hub インスタンスをインストールし、実行できるようになりました。これにより、チームと連携して、必要な追加カスタマイズを決定できます。
-
今回の更新で、
GIT_SSL_CAINFOがgit-cloneタスクに追加され、セキュアなリポジトリーをクローンできるようになりました。
1.6.1.5. Tekton Chains リンクのコピーリンクがクリップボードにコピーされました!
Tekton Chains はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
- 今回の更新により、静的トークンではなく OIDC を使用して Vault にログインすることができます。この変更により、Spire は OIDC 認証情報を生成し、信頼されるワークロードのみが vault にログインできます。また、Vault アドレスを環境変数として挿入するのではなく、設定値として渡すこともできます。
-
Red Hat OpenShift Pipelines Operator を使用してインストールした場合、設定マップの直接更新はサポートされないため、
openshift-pipelinesnamespace の Tekton チェーンのchain-config設定マップは、Red Hat OpenShift Pipelines Operator のアップグレード後に自動的にデフォルトにリセットされます。ただし、今回の更新により、TektonChainカスタムリソースを使用して Tekton Chains を設定できるようになりました。この機能により、アップグレード中に上書きされるchain-config設定マップとは異なり、アップグレード後も設定を維持できます。
1.6.1.6. Tekton Hub リンクのコピーリンクがクリップボードにコピーされました!
Tekton Hub はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
今回の更新により、Operator を使用して Tekton Hub の新しいインスタンスをインストールすると、Tekton Hub ログインがデフォルトで無効になります。ログインおよび評価機能を有効にするには、Tekton Hub のインストール時に Hub API シークレットを作成する必要があります。
注記Red Hat OpenShift Pipelines 1.7 では Tekton Hub ログインがデフォルトで有効になっているため、Operator をアップグレードすると、Red Hat OpenShift Pipelines 1.8 ではログインがデフォルトで有効になります。このログインを無効にするには、OpenShift Pipelines 1.7.x -→ 1.8.x からアップグレードした後の Tekton Hub ログインの無効化 を参照してください。
今回の更新により、管理者はローカルの Tekton Hub インスタンスを設定して、デフォルトデータベースではなくカスタム PostgreSQL 13 データベースを使用できるようになりました。これを行うには、
tekton-hub-dbという名前のSecretリソースを作成します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 今回の更新により、カタログからデータベースにリソースを追加するために Tekton Hub Web コンソールにログインする必要がなくなりました。現在、これらのリソースは、Tekton Hub API が初めて実行を開始したときに自動的に追加されます。
- この更新プログラムは、カタログ更新 API ジョブを呼び出すことにより、30 分ごとにカタログを自動的に更新します。この間隔は user-configurable です。
1.6.1.7. Pipelines as Code リンクのコピーリンクがクリップボードにコピーされました!
Pipelines as Code (PAC) は、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
-
今回の更新により、開発者は、重複したリポジトリーを Pipelines as Code run に追加しようとすると、
tkn-pacCLI ツールから通知を受け取ります。tkn pac create repositoryを入力する場合、各リポジトリーには一意の URL が必要です。この通知は、ハイジャックエクスプロイトの防止にも役立ちます。 -
今回の更新により、開発者は新しい
tkn-pac setup cliコマンドを使用して、Webhook メカニズムを使用して Git リポジトリーを Pipelines as Code に追加できるようになりました。このように、GitHub アプリを使用できない場合でも、Pipelines as Code を使用できます。この機能には、GitHub、GitLab、BitBucket のリポジトリーのサポートが含まれます。 今回の更新により、Pipelines as Code は、次のような機能を備えた GitLab 統合をサポートします。
- プロジェクトまたはグループの ACL (アクセス制御リスト)
-
許可されたユーザーからの
/OK-to-testサポート -
/retestサポート。
今回の更新により、Common Expression Language (CEL) を使用して高度なパイプラインフィルタリングを実行できます。CEL では、
PipelineRunリソースのアノテーションを使用して、パイプラインの実行をさまざまな Git プロバイダーイベントと一致させることができます。以下に例を示します。... annotations: pipelinesascode.tekton.dev/on-cel-expression: | event == "pull_request" && target_branch == "main" && source_branch == "wip"... annotations: pipelinesascode.tekton.dev/on-cel-expression: | event == "pull_request" && target_branch == "main" && source_branch == "wip"Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
以前は、開発者は、プルリクエストなどの Git イベントごとに
.tektonディレクトリーで 1 つのパイプラインしか実行できませんでした。今回の更新により、.tektonディレクトリーに複数のパイプラインを実行できるようになりました。Web コンソールは、実行のステータスとレポートを表示します。パイプラインは並行して動作し、Git プロバイダーインターフェイスに報告します。 -
今回の更新により、プルリクエストで
/testまたは/retestにコメントすることで、パイプラインの実行をテストまたは再テストできるようになりました。名前でパイプライン実行を指定することもできます。たとえば、/test <pipelinerun_name>または/retest <pipelinerun-name>を入力できます。 -
今回の更新により、新しい
tkn-pac delete repositoryコマンドを使用して、リポジトリーカスタムリソースとそれに関連付けられたシークレットを削除できるようになりました。
1.6.2. 互換性を失わせる変更点 リンクのコピーリンクがクリップボードにコピーされました!
この更新により、
TaskRunおよびPipelineRunリソースのデフォルトのメトリクスレベルが次の値に変更されます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
今回の更新により、アノテーションまたはラベルが
PipelineおよびPipelineRunリソースの両方にある場合、Runタイプの値が優先されます。アノテーションまたはラベルがTaskおよびTaskRunリソースにある場合も同様です。 -
Red Hat OpenShift Pipelines 1.8 では、以前に非推奨の
PipelineRun.Spec.ServiceAccountNamesフィールドが削除されました。代わりにPipelineRun.Spec.TaskRunSpecsフィールドを使用してください。 -
Red Hat OpenShift Pipelines 1.8 では、以前に非推奨の
TaskRun.Status.ResourceResults.ResourceRefフィールドが削除されました。代わりにTaskRun.Status.ResourceResults.ResourceNameフィールドを使用してください。 -
Red Hat OpenShift Pipelines 1.8 では、以前に非推奨となった
Conditionsリソースタイプが削除されました。Conditionsリソースを、これが含まれるPipelineリソース定義から削除します。代わりにPipelineRun定義でwhen式を使用してください。
-
Tekton Chains では、
tekton-provenance形式は本リリースで削除されました。代わりに、TektonChainカスタムリソースで"artifacts.taskrun.format": "in-toto"を設定して、in-toto形式を使用します。
Pipeline が Code 0.5.x として同梱される Red Hat OpenShift Pipelines 1.7.x。現在の更新には、Pipeline が Code 0.10.x として同梱されます。この変更により、新規コントローラーの
openshift-pipelinesnamespace に新規ルートが作成されます。このルートは、Pipeline を Code として使用する GitHub Apps または Webhook で更新する必要があります。ルートを取得するには、以下のコマンドを使用します。oc get route -n openshift-pipelines pipelines-as-code-controller \ --template='https://{{ .spec.host }}'$ oc get route -n openshift-pipelines pipelines-as-code-controller \ --template='https://{{ .spec.host }}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
今回の更新で、コードとしてのパイプラインは、
Repositoryカスタムリソース定義 (CRD) のデフォルトの秘密鍵の名前を変更します。CRD で、tokenをprovider.tokenに置き換え、secretをwebhook.secretに置き換えます。 -
今回の更新で、Pipelines as Code は、特別なテンプレート変数を、プライベートリポジトリーの複数のパイプライン実行をサポートするものに置き換えます。パイプラインの実行で、
secret: pac-git-basic-auth-{{repo_owner}}-{{repo_name}}をsecret: {{ git_auth_secret }}に置き換えます。 今回の更新により、コードとしての Pipeline が
tkn-pacCLI ツールで以下のコマンドを更新するようになりました。-
tkn pac repository createをtkn pac create repositoryに置き換えます。 -
tkn pac repository deleteをtkn pac delete repositoryに置き換えます。 -
tkn pac repository listをtkn pac listに置き換えます。
-
1.6.3. 非推奨および削除された機能 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform 4.11 以降、Red Hat OpenShift Pipelines Operator をインストールおよびアップグレードするための
previewおよびstableチャネルは削除されています。Operator をインストールしてアップグレードするには、適切なpipelines-<version>チャネル、または最新の安定バージョンのlatestチャネルを使用します。たとえば、OpenShift Pipelines Operator バージョン1.8.xをインストールするには、pipelines-1.8チャネルを使用します。注記OpenShift Container Platform 4.10 以前のバージョンでは、
previewおよびstableチャンネルを使用して Operator をインストールおよびアップグレードできます。Red Hat OpenShift Pipelines GA 1.6 で廃止された
tekton.dev/v1alpha1API バージョンのサポートは、今後の Red Hat OpenShift Pipelines GA 1.9 リリースで削除される予定です。この変更は、
TaskRun、PipelineRun、Task、Pipeline、および同様のtekton.dev/v1alpha1リソースを含むパイプラインコンポーネントに影響します。別の方法として、Migrating From Tekton v1alpha1 to Tekton v1beta1 で説明されているように、既存のリソースをapiVersion: tekton.dev/v1beta1を使用するように更新します。tekton.dev/v1alpha1API バージョンのバグ修正とサポートは、現在の GA 1.8 ライフサイクルの終了までのみ提供されます。重要Tekton Operator の場合、
operator.tekton.dev/v1alpha1API バージョンは 非 推奨ではありません。この値を変更する必要はありません。-
Red Hat OpenShift Pipelines 1.8 では、
PipelineResourceカスタムリソース (CR) が利用可能ですが、サポートされなくなりました。PipelineResourceCR は Tech Preview 機能であり、tekton.dev/v1alpha1API の一部であり、廃止予定であり、今後の Red Hat OpenShift Pipelines GA 1.9 リリースで削除される予定でした。 -
Red Hat OpenShift Pipelines 1.8 では、
Conditionカスタムリソース (CR) が削除されています。ConditionCR はtekton.dev/v1alpha1API の一部でしたが、これは非推奨であり、今後の Red Hat OpenShift Pipelines GA 1.9 リリースで削除される予定です。 -
Red Hat OpenShift Pipelines 1.8 では、
gsutilのgcr.ioイメージが削除されました。この削除により、このイメージに依存するPipelineリソースを含むクラスターが壊れる可能性があります。バグ修正とサポートは、Red Hat OpenShift Pipelines 1.7 ライフサイクルが終了するまでのみ提供されます。
-
Red Hat OpenShift Pipelines 1.8 では、
PipelineRun.Status.TaskRunsおよびPipelineRun.Status.Runsフィールドは非推奨となり、将来のリリースで削除される予定です。TEP-0100: PipelineRuns に埋め込まれた TaskRuns と Runs Status を参照してください。 Red Hat OpenShift Pipelines 1.8 では、
pipelineRunCancelled状態は非推奨となり、今後のリリースで削除される予定です。PipelineRunオブジェクトの正常な終了は、アルファ機能から安定した機能にプロモートされるようになりました。(TEP-0058: パイプライン実行の正常な終了 を参照してください。)別の方法として、Cancelled状態を使用できます。これはpipelineRunCancelled状態を置き換えます。PipelineおよびTaskリソースを変更する必要はありません。パイプラインの実行をキャンセルするツールがある場合は、次のリリースでツールを更新する必要があります。この変更は、CLI、IDE 拡張機能などのツールにも影響を与え、新しいPipelineRunステータスをサポートするようにします。この機能はデフォルトで使用できるため、
TektonConfigカスタムリソース定義でpipeline.enable-api-fieldsフィールドをalphaに設定する必要がなくなりました。Red Hat OpenShift Pipelines 1.8 では、
PipelineRunのtimeoutフィールドが非推奨になりました。代わりに、PipelineRun.Timeoutsフィールドを使用してください。これは現在、アルファ機能から安定した機能に昇格しています。この機能はデフォルトで使用できるため、
TektonConfigカスタムリソース定義でpipeline.enable-api-fieldsフィールドをalphaに設定する必要がなくなりました。-
Red Hat OpenShift Pipelines 1.8 では、
initコンテナーはLimitRangeオブジェクトのデフォルトのリクエスト計算から省略されています。
1.6.4. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
s2i-nodejsパイプラインは、nodejs:14-ubi8-minimalイメージストリームを使用して、source-to-image (S2I) ビルドを実行できません。そのイメージストリームを使用するとerror building at STEP "RUN /usr/libexec/s2i/assemble": exit status 127メッセージが生成されます。回避策:
nodejs:14-ubi8-minimalイメージストリームではなく、nodejs:14-ubi8を使用します。
Maven および Jib Maven クラスタータスクを実行する場合には、デフォルトのコンテナーイメージは Intel(x86) アーキテクチャーでのみサポートされます。したがって、タスクは ARM、IBM Power Systems (ppc64le)、IBM Z、および LinuxONE (s390x) クラスターで失敗します。
回避策:
MAVEN_IMAGEパラメーター値をmaven:3.6.3-adoptopenjdk-11に設定して、カスタムイメージを指定します。ヒントtkn hubを使用して、ARM、IBM Power Systems (ppc64le)、IBM Z、および LinuxONE (s390x) に Tekton カタログに基づくタスクをインストールする前に、これらのプラットフォームでタスクを実行できるかどうかを確認してください。ppc64leおよびs390xがタスク情報の「Platforms」セクションに一覧表示されているかどうかを確認するには、tkn hub info task <name>コマンドを実行します。-
ARM、IBM Power Systems、IBM Z、および LinuxONE では、
s2i-dotnetクラスタータスクはサポートされていません。
-
暗黙的なパラメーターマッピングは、最上位の
PipelineまたはPipelineRun定義からtaskRefタスクにパラメーターを誤って渡します。マッピングは、トップレベルのリソースからインラインtaskSpec仕様のタスクにのみ行う必要があります。この問題は、TektonConfigカスタムリソース定義のpipelineセクションでenable-api-fieldsフィールドをalphaに設定することにより、この機能が有効になっているクラスターにのみ影響します。
1.6.5. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
- この更新の前は、Web コンソールの開発者ビューでのパイプライン実行のメトリクスは不完全で古くなっていました。今回の更新で問題が修正され、指標が正しくなりました。
-
この更新の前は、パイプラインに失敗した 2 つの並列タスクがあり、そのうちの 1 つが
retries=2であった場合、最後のタスクは実行されず、パイプラインはタイムアウトして実行に失敗しました。たとえば、pipelines-operator-subscriptionタスクが次のエラーメッセージで断続的に失敗しました。Unable to connect to the server: EOF。今回の更新で、最終タスクが常に実行されるように問題が修正されました。 -
この更新の前は、タスクの実行が失敗したためにパイプラインの実行が停止した場合、他のタスクの実行が再試行を完了しない可能性がありました。その結果、
finallyタスクがスケジュールされず、パイプラインがハングしました。 今回の更新で問題が解決されました。TaskRunsおよびRunオブジェクトは、パイプラインの実行が停止したときに (正常な停止によっても) 再試行できるため、パイプラインの実行を完了できます。 -
この更新により、
TaskRunオブジェクトが存在する namespace に 1 つ以上のLimitRangeオブジェクトが存在する場合のリソース要件の計算方法が変更されます。スケジューラーは、stepコンテナーを考慮し、LimitRangeオブジェクトからの要求を因数分解するときに、サイドカーコンテナーなどの他のすべてのアプリコンテナーを除外するようになりました。 -
この更新の前は、特定の条件下で、フラグパッケージが二重ダッシュフラグターミネータ
--の直後のサブコマンドを誤って解析する場合がありました。その場合、実際のコマンドではなく、エントリーポイントサブコマンドが実行されました。今回の更新では、このフラグ解析の問題が修正され、エントリーポイントが正しいコマンドを実行できるようになりました。 -
この更新の前は、イメージのプルが失敗した場合、またはそのプルステータスが不完全であった場合、コントローラーが複数のパニックを生成する可能性がありました。この更新では、
status.TaskSpec値ではなくstep.ImageID値をチェックすることで問題が修正されています。 -
この更新の前は、スケジュールされていないカスタムタスクを含むパイプラインの実行をキャンセルすると、
PipelineRunCouldntCancelエラーが発生していました。今回の更新でこの問題が修正されています。エラーを生成することなく、スケジュールされていないカスタムタスクを含むパイプラインの実行をキャンセルできます。 この更新の前は、
$params["<NAME>"]または$params['<NAME>']の<NAME>にドット文字 (.) が含まれている場合、ドットの右側の名前のどの部分も含まれていませんでした。たとえば、$params["org.ipsum.lorem"]から、orgのみが抽出されました。今回の更新で問題が修正され、
$paramsが完全な値を取得するようになりました。たとえば、$params["org.ipsum.lorem"]と$params['org.ipsum.lorem']は有効で、<NAME>の値全体であるorg.ipsum.loremが抽出されます。<NAME>が一重引用符または二重引用符で囲まれていない場合にも、エラーが出力されます。たとえば、$params.org.ipsum.loremは有効ではなく、検証エラーが発生します。
-
今回の更新により、
Triggerリソースはカスタムインターセプターをサポートし、カスタムインターセプターサービスのポートがClusterInterceptor定義ファイルのポートと同じになるようにします。
-
この更新の前は、Tekton Chains および Operator コンポーネントの
tkn versionコマンドが正しく機能しませんでした。今回の更新で問題が修正され、コマンドが正しく機能し、それらのコンポーネントのバージョン情報が返されるようになりました。 -
この更新の前に、
tkn pr delete --ignore-runningコマンドを実行し、パイプラインの実行にstatus.condition値がない場合、tknCLI ツールは null-pointer エラー (NPE) を生成しました。今回の更新で問題が修正され、CLI ツールがエラーを生成し、実行中のパイプライン実行を正しく無視するようになりました。 -
この更新の前に、
tkn pr delete --keep <value>またはtkn tr delete --keep <value>コマンドを使用し、パイプラインの実行またはタスクの実行の数が値よりも少ない場合、コマンドは予想通りのエラー。今回の更新で問題が修正され、これらの条件下でコマンドが正しくエラーを返すようになりました。 -
この更新の前に、
-pまたは-tフラグと--ignore-runningフラグを指定してtkn pr deleteまたはtkn tr deleteコマンドを使用した場合、コマンドは実行中または保留中のリソースを誤って削除しました。今回の更新で問題が修正され、これらのコマンドが実行中または保留中のリソースを正しく無視するようになりました。
-
今回の更新により、
TektonChainカスタムリソースを使用して Tekton Chains を設定できるようになりました。この機能により、アップグレード中に上書きされるchain-config設定マップとは異なり、アップグレード後も設定を維持できます。 -
今回の更新により、
buildahおよびs2iクラスタータスクを除き、ClusterTaskリソースはデフォルトで root として実行されなくなりました。 -
今回の更新前は、最初の引数として
initを使用し、その後に 2 つ以上の引数を使用すると、Red Hat OpenShift Pipelines 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 をアップグレードすると
pipelineサービスアカウントが再作成され、サービスアカウントにリンクされたシークレットが失われていました。今回の更新でこの問題が修正されています。アップグレード中に、Operator はpipelineサービスアカウントを再作成しなくなりました。その結果、pipelineサービスアカウントにアタッチされたシークレットはアップグレード後も保持され、リソース (タスクとパイプライン) は引き続き正しく機能します。 -
今回の更新により、
TektonConfigカスタムリソース (CR) でインフラストラクチャーノード設定が設定されている場合、Pipelines as Code Pod はインフラストラクチャーノードで実行されます。 以前は、リソースプルーナーを使用して、各 namespace Operator が個別のコンテナーで実行されるコマンドを作成していました。この設計は、namespaces の数が多いクラスターで大量のリソースを消費しました。たとえば、1 つのコマンドを実行するために、1000 個の namespace を持つクラスターは、Pod 内に 1000 個のコンテナーを生成しました。
今回の更新でこの問題が修正されています。すべてのコマンドがループ内の 1 つのコンテナーで実行されるように、namespace ベースの設定をジョブに渡します。
-
Tekton Chains では、
signing-secretsと呼ばれるシークレットを定義して、タスクとイメージの署名に使用されるキーを保持する必要があります。ただし、この更新の前に、Red Hat OpenShift Pipelines Operator を更新すると、このシークレットがリセットまたは上書きされ、キーが失われました。今回の更新でこの問題が修正されています。これで、Operator を介して Tekton Chains をインストールした後にシークレットが設定された場合、シークレットは保持され、アップグレードによって上書きされなくなりました。 今回の更新以前は、すべての 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 - 今回の更新前は、Red Hat OpenShift Pipelines Operator のインストールに予想以上に時間がかかりました。この更新プログラムは、インストールプロセスを高速化するために一部の設定を最適化します。
-
今回の更新により、Buildah および S2I クラスタータスクの手順が以前のバージョンよりも少なくなりました。一部のステップは 1 つのステップに結合されているため、
ResourceQuotaおよびLimitRangeオブジェクトでより適切に機能し、必要以上のリソースを必要としません。 -
この更新により、クラスタータスクの Buildah、
tknCLI ツール、およびskopeoCLI ツールのバージョンがアップグレードされます。 -
今回の更新前は、いずれかの namespace が
Terminating状態の場合、RBAC リソースの作成時に Operator が失敗していました。今回の更新により、Operator はTerminating状態の namespace を無視し、RBAC リソースを作成します。 -
この更新の前は、予想どおり、prune cronjobs の Pod がインフラストラクチャーノードでスケジュールされていませんでした。代わりに、それらはワーカーノードでスケジュールされているか、まったくスケジュールされていませんでした。今回の更新により、
TektonConfigカスタムリソース (CR) で設定されている場合、これらのタイプの Pod をインフラストラクチャーノードでスケジュールできるようになりました。
1.6.6. Red Hat OpenShift Pipelines General Availability (GA) 1.8.1 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
今回の更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.8.1 が OpenShift Container Platform 4.10、4.11、および 4.12 で利用できるようになりました。
1.6.6.1. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、セキュリティーを強化するために、コンテナーのアクセス権が制限されています。制限付きのアクセス許可は、Red Hat OpenShift Pipelines Operator のすべてのコントローラー Pod と、一部のクラスタータスクに適用されます。アクセス権が制限されているため、特定の設定では
git-cloneクラスタータスクが失敗します。回避策: なし。問題 SRVKP-2634 を確認してください。
インストーラーセットが失敗した状態の場合、
TektonConfigカスタムリソースのステータスがFalseではなくTrueとして誤表示されます。例: 失敗したインストーラセット
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例: 正しくない
TektonConfigステータスoc get tektonconfig config
$ oc get tektonconfig config NAME VERSION READY REASON config 1.8.1 TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.6.6.2. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新まで、プルーナーは実行中のパイプラインのタスク実行を削除し、警告
some tasks were indicated completed without ancestors being doneを表示していました。今回の更新により、プルーナーは、実行中のパイプラインの一部であるタスク実行を保持します。 -
この更新まで、
pipeline-1.8が Red Hat OpenShift Pipelines Operator 1.8.x をインストールするためのデフォルトのチャネルでした。今回の更新により、latestがデフォルトのチャネルになりました。 - この更新まで、コードとしてのパイプラインのコントローラー Pod は、ユーザーによって公開された証明書にアクセスできませんでした。今回の更新により、コードとしてのパイプラインは、自己署名証明書またはカスタム証明書によって保護されたルートと Git リポジトリーにアクセスできるようになりました。
- この更新まで、Red Hat OpenShift Pipelines 1.7.2 から 1.8.0 にアップグレードすると、タスクが RBAC エラーで失敗していました。今回の更新により、タスクは RBAC エラーなしで正常に実行されます。
-
この更新まで、
tknCLI ツールを使用して、array型のresultオブジェクトを含むタスク実行とパイプライン実行を削除できませんでした。今回の更新により、tknCLI ツールを使用して、array型のresultオブジェクトを含むタスク実行とパイプライン実行を削除できます。 -
この更新まで、パイプライン仕様に
array型のENV_VARSパラメーターを持つタスクが含まれていた場合、パイプラインの実行はinvalid input params for task func-buildpacks: param types don’t match the user-specified type: [ENV_VARS]エラーで失敗していました。今回の更新により、そのようなパイプラインおよびタスク仕様でのパイプライン実行は失敗しなくなりました。 -
この更新まで、クラスター管理者は、コンテナーレジストリーにアクセスするための
Buildahクラスタータスクにconfig.jsonファイルを提供できませんでした。今回の更新により、クラスター管理者は、dockerconfigワークスペースを使用して、Buildahクラスタータスクにconfig.jsonファイルを提供できるようになりました。
1.6.7. Red Hat OpenShift Pipelines General Availability (GA) 1.8.2 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
今回の更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.8.2 が OpenShift Container Platform 4.10、4.11、および 4.12 で利用できるようになりました。
1.6.7.1. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
この更新の前は、SSH キーを使用してリポジトリーのクローンを作成すると、
git-cloneタスクが失敗していました。今回の更新により、git-initタスクでの root 以外のユーザーのロールが削除され、SSH プログラムは$HOME/.ssh/ディレクトリーで正しいキーを検索します。