検索

1.12. Red Hat OpenShift Pipelines General Availability (GA) 1.6 のリリースノート

download PDF

Red Hat OpenShift Pipelines General Availability (GA) 1.6 が OpenShift Container Platform 4.9 で利用可能になりました。

1.12.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 tasktkn clustertask コマンドに追加されました。
  • 今回の更新により、tkn pipelinerun delete --all コマンドを使用すると、新規の --label <string> オプションを使用して、ラベルでパイプライン実行をフィルターできるようになりました。オプションで、--label オプションに === を等価演算子として、または != を不等価演算子として指定して使用できます。たとえば、tkn pipelinerun delete --all --label asdf および tkn pipelinerun delete --all --label==asdf コマンドはどちらも、asdf ラベルが割り当てられたすべてのパイプライン実行を削除します。
  • 今回の更新では、設定マップからインストールされた Tekton コンポーネントのバージョンを取得するか、設定マップがない場合はデプロイメントコントローラーから取得できるようになりました。
  • 今回の更新では、機能フラグを設定し、デフォルト値をそれぞれ設定するために feature-flagsconfig-defaults 設定マップをサポートするようになりました。
  • 今回の更新では、新しいメトリクス eventlistener_event_count が追加され、EventListener リソースが受信するイベントをカウントできるようになりました。
  • 今回の更新では、v1beta1 Go API タイプが追加されました。今回の更新では、トリガーが v1beta1 API バージョンをサポートするようになりました。

    現在のリリースでは、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-since7200 に設定します。

      注記

      keep および keep-since アノテーションは同時に使用できません。リソースには、どちらか 1 つだけを使用する必要があります。

    • operator.tekton.dev/prune.strategy: このアノテーションの値を keep または keep-since のいずれかに設定します。
  • 管理者はクラスター全体に対する pipeline サービスアカウントの作成を無効にし、紐付けされた SCC (anyuid と非常に似ている) の悪用による権限昇格を防ぎます。
  • TektonConfig カスタムリソース (CR) および、TektonPipelineTektonTriggers などの個々のコンポーネントの CR を使用して、機能フラグおよびコンポーネントを設定できるようになりました。この詳細レベルは、個々のコンポーネントの Tekton OCI バンドルなどのアルファ機能のカスタマイズおよびテストに役立ちます。
  • PipelineRun リソースのオプションの Timeouts フィールドを設定できるようになりました。たとえば、パイプライン実行、各タスク実行、および finally タスクに個別にタイムアウトを設定できます。
  • TaskRun リソースで生成される Pod を使用して、Pod の activeDeadlineSeconds フィールドが設定されるようになりました。これにより、OpenShift はこの値を終了として考慮でき、Pod に具体的にスコープを指定した ResourceQuota オブジェクトを使用できます。
  • configmaps を使用して、タスク実行、パイプライン実行、タスク、およびパイプラインのメトリクスタグまたはラベルタイプを削除できます。さらに、ヒストグラム、ゲージ、最終値など、測定期間に、さまざまな種類のメトリクスを設定できます。
  • Tekton は MinMaxDefault および 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 のインストール後に Subscription CR の仕様で config.nodeSelector および config.tolerations フィールドを編集します。
    • OpenShift Pipelines の残りのコントロールプレーン Pod をインフラストラクチャーノードにデプロイするには、nodeSelector および tolerations フィールドで TektonConfig CR を更新します。その後、変更は Operator で作成されるすべての Pod に適用されます。

1.12.2. 非推奨の機能

  • CLI 0.21.0 では、clustertasktasktaskrunpipeline、および pipelinerun コマンドに対するすべての v1alpha1 リソースのサポートが非推奨になりました。クラスターローダーが非推奨になり、今後のリリースで削除されます。
  • Tekton Triggers v0.16.0 では、重複する status ラベルは EventListener リソースのメトリクスから削除されます。

    重要

    重大な変更:status ラベルは eventlistener_http_duration_seconds_* メトリクスから削除されました。status ラベルに基づくクエリーを削除します。

  • 現在のリリースでは、v1alpha1 機能が非推奨となり、今後のリリースで削除されます。代わりに、今回の更新では、v1beta1 Go API タイプの使用を開始できるようになりました。トリガーが v1beta1 API バージョンをサポートするようになりました。
  • 現在のリリースでは、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 オブジェクトの仕様で上書きできます。

    以前の動作を使用するには、TektonConfig CR の disable-working-directory-overwrite フィールドおよび disable-home-env-overwrite フィールドを false に変更します。

    apiVersion: operator.tekton.dev/v1alpha1
      kind: TektonConfig
      metadata:
        name: config
      spec:
        pipeline:
          disable-working-directory-overwrite: false
          disable-home-env-overwrite: false
      ...
    重要

    TektonConfig CR の disable-working-directory-overwritedisable-home-env-overwrite フィールドは非推奨となり、今後のリリースで削除されます。

1.12.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 イメージストリームを使用すると、以下のエラーが生成されるため、使用できません。

    STEP 7: RUN /usr/libexec/s2i/assemble
    /bin/sh: /usr/libexec/s2i/assemble: No such file or directory
    subprocess exited with status 127
    subprocess exited with status 127
    error building at STEP "RUN /usr/libexec/s2i/assemble": exit status 127
    time="2021-11-04T13:05:26Z" level=error msg="exit status 127"

1.12.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[*])] などの配列パラメーター参照を指定できるようになりました。

1.12.5. Red Hat OpenShift Pipelines General Availability 1.6.1 のリリースノート

1.12.5.1. 既知の問題

  • 古いバージョンから Red Hat OpenShift Pipelines 1.6.1 にアップグレードした後、OpenShift Pipelines は一貫性のない状態になり、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.

1.12.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 のアップグレード時にレプリカはリセットされます。
  • tkn CLI を提供する Pod は、ノードセレクターおよび TektonConfig カスタムリソースで指定される容認制限に基づいて、ノードにスケジュールされるようになりました。

1.12.6. Red Hat OpenShift Pipelines General Availability 1.6.2 のリリースノート

1.12.6.1. 既知の問題

  • 新規プロジェクトの作成時に、pipeline サービスアカウントの作成が遅延し、既存のクラスタータスクおよびパイプラインテンプレートの削除に 10 分以上かかります。

1.12.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 オブジェクトの暗黙的なパラメーター動作を無効にします。

1.12.7. Red Hat OpenShift Pipelines General Availability 1.6.3 のリリースノート

1.12.7.1. 修正された問題

  • 今回の更新以前は、Red Hat OpenShift Pipelines Operator は Pipeline および Trigger などのコンポーネントから Pod セキュリティーポリシーをインストールしていました。ただし、コンポーネントの一部として同梱される Pod セキュリティーポリシーは、以前のリリースで非推奨となりました。今回の更新により、Operator はコンポーネントから Pod セキュリティーポリシーをインストールするのを止めました。その結果、以下のアップグレードパスが影響を受けます。

    • OpenShift Pipelines 1.6.1 または 1.6.2 から OpenShift Pipelines 1.6.3 にアップグレードすると、Pipelines および Triggers コンポーネントからのものを含む Pod セキュリティーポリシーが削除されます。
    • OpenShift Pipelines 1.5.x から 1.6.3 へのアップグレードでは、コンポーネントからインストールされた Pod セキュリティーポリシーが保持されます。クラスター管理者は、それらを手動で削除できます。

      注記

      今後のリリースにアップグレードすると、Red Hat OpenShift Pipelines Operator は古くなったすべての Pod セキュリティーポリシーを自動的に削除します。

  • 今回の更新以前は、クラスター管理者のみが OpenShift Container Platform コンソールでパイプラインメトリクスにアクセスできていました。今回の更新により、他のクラスターロールを持つユーザーもパイプラインメトリクスにアクセスできるようになりました。
  • 今回の更新前は、OpenShift Pipelines Operator のロールベースのアクセス制御 (RBAC) の問題により、コンポーネントのアップグレードまたはインストールで問題が発生していました。今回の更新により、各種の Red Hat OpenShift Pipelines コンポーネントをインストールする際の信頼性および一貫性が向上しました。
  • 今回の更新以前は、TektonConfig CR で clusterTasks および pipelineTemplates フィールドを false に設定すると、クラスタータスクおよびパイプラインテンプレートの削除が遅くなりました。この更新により、クラスタータスクやパイプラインテンプレートなどの Tekton リソースのライフサイクル管理の速度が改善されました。

1.12.8. Red Hat OpenShift Pipelines General Availability (GA) 1.6.4 のリリースノート

1.12.8.1. 既知の問題

  • Red Hat OpenShift Pipelines 1.5.2 から 1.6.4 にアップグレードした後、イベントリスナールートにアクセスすると 503 エラーが返されます。

    回避策: YAML ファイルで、イベントリスナーのルートのターゲットポートを変更します。

    1. 関連する namespace のルート名を抽出します。

      $ oc get route -n <namespace>
    2. ルートを編集して、targetPort フィールドの値を変更します。

      $ oc edit route -n <namespace> <el-route_name>

      例: 既存のイベントリスナールート

      ...
      spec:
        host: el-event-listener-q8c3w5-test-upgrade1.apps.ve49aws.aws.ospqa.com
        port:
          targetPort: 8000
        to:
          kind: Service
          name: el-event-listener-q8c3w5
          weight: 100
        wildcardPolicy: None
      ...

      例: 変更されたイベントリスナールート

      ...
      spec:
        host: el-event-listener-q8c3w5-test-upgrade1.apps.ve49aws.aws.ospqa.com
        port:
          targetPort: http-listener
        to:
          kind: Service
          name: el-event-listener-q8c3w5
          weight: 100
        wildcardPolicy: None
      ...

1.12.8.2. 修正された問題

  • 今回の更新前は、いずれかの namespace が Terminating 状態の場合、RBAC リソースの作成時に Operator が失敗していました。今回の更新により、Operator は Terminating 状態の namespace を無視し、RBAC リソースを作成します。
  • この更新の前は、関連する Tekton コントローラーのリリースバージョンを指定するアノテーションがないため、タスクの実行が失敗するか、再起動されました。今回の更新により、適切な注釈の組み込みが自動化され、タスクは失敗や再起動なしで実行されます。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.