検索

1.10. Red Hat OpenShift Pipelines General Availability 1.8 のリリースノート

download PDF

今回の更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.8 が OpenShift Container Platform 4.10、4.11、および 4.12 で利用できるようになりました。

1.10.1. 新機能

以下では、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.8 の主な新機能を説明します。

1.10.1.1. Pipelines

  • 今回の更新により、ARM ハードウェアで実行されている OpenShift Container Platform クラスターで Red Hat OpenShift Pipelines GA 1.8 以降を実行できるようになりました。これには、ClusterTask リソースと tkn CLI ツールのサポートが含まれます。
重要

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 メタデータは、パイプライン実行時に利用できます。
  • この更新により、paramsresults の値にオブジェクトまたはディクショナリータイプのサポートが追加されました。この変更は後方互換性に影響し、以前のクライアントを新しい Red Hat OpenShift Pipelines バージョンで使用するなど、前方互換性を損なう場合があります。この更新により、ArrayOrStruct 構造が変更されます。これは、Go 言語 API をライブラリーとして使用するプロジェクトに影響します。
  • この更新により、SkippingReason 値が PipelineRun ステータスフィールドの SkippedTasks フィールドに追加され、特定の PipelineTask がスキップされた理由をユーザーが知ることができるようになりました。
  • この更新プログラムは、Task オブジェクトから結果を発行するために array 型を使用できるアルファ機能をサポートします。結果の型は string から ArrayOrString に変更されています。たとえば、タスクはタイプを指定してアレイの結果を生成できます。

    kind: Task
    apiVersion: tekton.dev/v1beta1
    metadata:
      name: write-array
      annotations:
        description: |
          A simple task that writes array
    spec:
      results:
        - name: array-results
          type: array
          description: The array results
    ...

    さらに、タスクスクリプトを実行して、結果をアレイで入力できます。

    $ echo -n "[\"hello\",\"world\"]" | tee $(results.array-results.path)

    この機能を有効にするには、TektonConfig カスタムリソース定義の パイプライン セクションで、enable-api-fields フィールドを alpha に設定する必要があります。

    この機能は進行中であり、TEP-0076 の一部です。

1.10.1.2. トリガー

  • この更新により、EventListener 仕様の TriggerGroups フィールドがアルファ機能から安定した機能に移行します。このフィールドを使用すると、トリガーのグループを選択および実行する前にインターセプターのセットを指定できます。

    この機能はデフォルトで使用できるため、TektonConfig カスタムリソース定義で pipeline.enable-api-fields フィールドを alpha に設定する必要がなくなりました。

  • 今回の更新により、Trigger リソースは、HTTPS を使用して ClusterInterceptor サーバーを実行することにより、エンドツーエンドの安全な接続をサポートします。

1.10.1.3. CLI

  • 今回の更新では、tkn taskrun export コマンドを使用して、ライブタスクの実行をクラスターから YAML ファイルにエクスポートできます。これを使用して、タスクの実行を別のクラスターにインポートできます。
  • 今回の更新により、tkn pipeline start コマンドに -o name フラグを追加して、開始直後にパイプライン実行の名前を出力できるようになりました。
  • 今回の更新により、利用可能なプラグインの一覧が tkn --help コマンドの出力に追加されました。
  • 今回の更新により、パイプラインの実行またはタスクの実行を削除する際に、--keep フラグと --keep-since フラグの両方を一緒に使用できるようになりました。
  • 今回の更新により、非推奨の PipelineRunCancelled 値ではなく、spec.status フィールドの値として Cancelled を使用できるようになりました。

1.10.1.4. Operator

  • 今回の更新により、管理者はローカルの Tekton Hub インスタンスを設定して、デフォルトデータベースではなくカスタムデータベースを使用できるようになりました。
  • 今回の更新では、クラスター管理者としてローカルの Tekton Hub インスタンスを有効にすると、データベースが定期的に更新され、カタログの変更が Tekton Hub Web コンソールに表示されるようになります。更新の間隔は調整できます。

    以前は、カタログ内のタスクとパイプラインをデータベースに追加するために、そのタスクを手動で実行するか、cron ジョブをセットアップして実行していました。

  • 今回の更新で、最小限の設定で Tekton Hub インスタンスをインストールし、実行できるようになりました。これにより、チームと連携して、必要な追加カスタマイズを決定できます。
  • 今回の更新で、GIT_SSL_CAINFOgit-clone タスクに追加され、セキュアなリポジトリーをクローンできるようになりました。

1.10.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-pipelines namespace の Tekton チェーンの chain-config 設定マップは、Red Hat OpenShift Pipelines Operator のアップグレード後に自動的にデフォルトにリセットされます。ただし、今回の更新により、TektonChain カスタムリソースを使用して Tekton Chains を設定できるようになりました。この機能により、アップグレード中に上書きされる chain-config 設定マップとは異なり、アップグレード後も設定を維持できます。

1.10.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 リソースを作成します。以下に例を示します。

    apiVersion: v1
    kind: Secret
    metadata:
      name: tekton-hub-db
      labels:
        app: tekton-hub-db
    type: Opaque
    stringData:
      POSTGRES_HOST: <hostname>
      POSTGRES_DB: <database_name>
      POSTGRES_USER: <username>
      POSTGRES_PASSWORD: <password>
      POSTGRES_PORT: <listening_port_number>
  • 今回の更新により、カタログからデータベースにリソースを追加するために Tekton Hub Web コンソールにログインする必要がなくなりました。現在、これらのリソースは、Tekton Hub API が初めて実行を開始したときに自動的に追加されます。
  • この更新プログラムは、カタログ更新 API ジョブを呼び出すことにより、30 分ごとにカタログを自動的に更新します。この間隔は user-configurable です。

1.10.1.7. Pipelines as Code

重要

Pipelines as Code (PAC) は、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

  • 今回の更新により、開発者は、重複したリポジトリーを Pipelines as Code run に追加しようとすると、tkn-pac CLI ツールから通知を受け取ります。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"
  • 以前は、開発者は、プルリクエストなどの Git イベントごとに .tekton ディレクトリーで 1 つのパイプラインしか実行できませんでした。今回の更新により、.tekton ディレクトリーに複数のパイプラインを実行できるようになりました。Web コンソールは、実行のステータスとレポートを表示します。パイプラインは並行して動作し、Git プロバイダーインターフェイスに報告します。
  • 今回の更新により、プルリクエストで /test または /retest にコメントすることで、パイプラインの実行をテストまたは再テストできるようになりました。名前でパイプライン実行を指定することもできます。たとえば、/test <pipelinerun_name> または /retest <pipelinerun-name> を入力できます。
  • 今回の更新により、新しい tkn-pac delete repository コマンドを使用して、リポジトリーカスタムリソースとそれに関連付けられたシークレットを削除できるようになりました。

1.10.2. 互換性を失わせる変更点

  • この更新により、TaskRun および PipelineRun リソースのデフォルトのメトリクスレベルが次の値に変更されます。

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: config-observability
      namespace: tekton-pipelines
      labels:
        app.kubernetes.io/instance: default
        app.kubernetes.io/part-of: tekton-pipelines
    data:
      _example: |
      ...
        metrics.taskrun.level: "task"
        metrics.taskrun.duration-type: "histogram"
        metrics.pipelinerun.level: "pipeline"
        metrics.pipelinerun.duration-type: "histogram"
  • 今回の更新により、アノテーションまたはラベルが 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-pipelines namespace に新規ルートが作成されます。このルートは、Pipeline を Code として使用する GitHub Apps または Webhook で更新する必要があります。ルートを取得するには、以下のコマンドを使用します。

    $ oc get route -n openshift-pipelines pipelines-as-code-controller \
      --template='https://{{ .spec.host }}'
  • 今回の更新で、コードとしてのパイプラインは、Repository カスタムリソース定義 (CRD) のデフォルトの秘密鍵の名前を変更します。CRD で、tokenprovider.token に置き換え、secretwebhook.secret に置き換えます。
  • 今回の更新で、Pipelines as Code は、特別なテンプレート変数を、プライベートリポジトリーの複数のパイプライン実行をサポートするものに置き換えます。パイプラインの実行で、secret: pac-git-basic-auth-{{repo_owner}}-{{repo_name}}secret: {{ git_auth_secret }} に置き換えます。
  • 今回の更新により、コードとしての Pipeline が tkn-pac CLI ツールで以下のコマンドを更新するようになりました。

    • tkn pac repository createtkn pac create repository に置き換えます。
    • tkn pac repository deletetkn pac delete repository に置き換えます。
    • tkn pac repository listtkn pac list に置き換えます。

1.10.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/v1alpha1 API バージョンのサポートは、今後の Red Hat OpenShift Pipelines GA 1.9 リリースで削除される予定です。

    この変更は、TaskRunPipelineRunTaskPipeline、および同様の tekton.dev/v1alpha1 リソースを含むパイプラインコンポーネントに影響します。別の方法として、Migrating From Tekton v1alpha1 to Tekton v1beta1 で説明されているように、既存のリソースを apiVersion: tekton.dev/v1beta1 を使用するように更新します。

    tekton.dev/v1alpha1 API バージョンのバグ修正とサポートは、現在の GA 1.8 ライフサイクルの終了までのみ提供されます。

    重要

    Tekton Operator の場合、operator.tekton.dev/v1alpha1 API バージョンは 推奨ではありません。この値を変更する必要はありません。

  • Red Hat OpenShift Pipelines 1.8 では、PipelineResource カスタムリソース (CR) が利用可能ですが、サポートされなくなりました。PipelineResource CR は Tech Preview 機能であり、tekton.dev/v1alpha1 API の一部であり、廃止予定であり、今後の Red Hat OpenShift Pipelines GA 1.9 リリースで削除される予定でした。
  • Red Hat OpenShift Pipelines 1.8 では、Condition カスタムリソース (CR) が削除されています。Condition CR は tekton.dev/v1alpha1 API の一部でしたが、これは非推奨であり、今後の Red Hat OpenShift Pipelines GA 1.9 リリースで削除される予定です。
  • Red Hat OpenShift Pipelines 1.8 では、gsutilgcr.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 では、PipelineRuntimeout フィールドが非推奨になりました。代わりに、PipelineRun.Timeouts フィールドを使用してください。これは現在、アルファ機能から安定した機能に昇格しています。

    この機能はデフォルトで使用できるため、TektonConfig カスタムリソース定義で pipeline.enable-api-fields フィールドを alpha に設定する必要がなくなりました。

  • Red Hat OpenShift Pipelines 1.8 では、init コンテナーは LimitRange オブジェクトのデフォルトのリクエスト計算から省略されています。

1.10.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.10.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 値がない場合、tkn CLI ツールは 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 roleRef

    今回の更新で問題が修正され、障害が発生しなくなりました。

  • 以前は、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)"

    今回の更新により、pipelines-scc セキュリティーコンテキスト制約 (SCC) は、Buildah および S2I クラスタータスクに必要な SETFCAP 機能と互換性が確保されています。その結果、Buildah および S2I ビルドタスクを正常に実行できます。

    さまざまな言語やフレームワークで書かれたアプリケーションに対して Buildah クラスタータスクおよび S2I ビルドタスクを正常に実行するには、buildpush などの適切な steps オブジェクトに以下のスニペットを追加します。

    securityContext:
      capabilities:
        add: ["SETFCAP"]
  • 今回の更新前は、Red Hat OpenShift Pipelines Operator のインストールに予想以上に時間がかかりました。この更新プログラムは、インストールプロセスを高速化するために一部の設定を最適化します。
  • 今回の更新により、Buildah および S2I クラスタータスクの手順が以前のバージョンよりも少なくなりました。一部のステップは 1 つのステップに結合されているため、ResourceQuota および LimitRange オブジェクトでより適切に機能し、必要以上のリソースを必要としません。
  • この更新により、クラスタータスクの Buildah、tkn CLI ツール、および skopeo CLI ツールのバージョンがアップグレードされます。
  • 今回の更新前は、いずれかの namespace が Terminating 状態の場合、RBAC リソースの作成時に Operator が失敗していました。今回の更新により、Operator は Terminating 状態の namespace を無視し、RBAC リソースを作成します。
  • この更新の前は、予想どおり、prune cronjobs の Pod がインフラストラクチャーノードでスケジュールされていませんでした。代わりに、それらはワーカーノードでスケジュールされているか、まったくスケジュールされていませんでした。今回の更新により、TektonConfig カスタムリソース (CR) で設定されている場合、これらのタイプの Pod をインフラストラクチャーノードでスケジュールできるようになりました。

1.10.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.10.6.1. 既知の問題

  • デフォルトでは、セキュリティーを強化するために、コンテナーのアクセス権が制限されています。制限付きのアクセス許可は、Red Hat OpenShift Pipelines Operator のすべてのコントローラー Pod と、一部のクラスタータスクに適用されます。アクセス権が制限されているため、特定の設定では git-clone クラスタータスクが失敗します。

    回避策: なし。問題 SRVKP-2634 を確認してください。

  • インストーラーセットが失敗した状態の場合、TektonConfig カスタムリソースのステータスが False ではなく True として誤表示されます。

    例: 失敗したインストーラセット

    $ oc get tektoninstallerset
    NAME                                     READY   REASON
    addon-clustertasks-nx5xz                 False   Error
    addon-communityclustertasks-cfb2p        True
    addon-consolecli-ftrb8                   True
    addon-openshift-67dj2                    True
    addon-pac-cf7pz                          True
    addon-pipelines-fvllm                    True
    addon-triggers-b2wtt                     True
    addon-versioned-clustertasks-1-8-hqhnw   False   Error
    pipeline-w75ww                           True
    postpipeline-lrs22                       True
    prepipeline-ldlhw                        True
    rhosp-rbac-4dmgb                         True
    trigger-hfg64                            True
    validating-mutating-webhoook-28rf7       True

    例: 正しくない TektonConfig ステータス

    $ oc get tektonconfig config
    NAME     VERSION   READY   REASON
    config   1.8.1     True

1.10.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 エラーなしで正常に実行されます。
  • この更新まで、tkn CLI ツールを使用して、array 型の result オブジェクトを含むタスク実行とパイプライン実行を削除できませんでした。今回の更新により、tkn CLI ツールを使用して、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.10.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.10.7.1. 修正された問題

  • この更新の前は、SSH キーを使用してリポジトリーのクローンを作成すると、git-clone タスクが失敗していました。今回の更新により、git-init タスクでの root 以外のユーザーのロールが削除され、SSH プログラムは $HOME/.ssh/ ディレクトリーで正しいキーを検索します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.