リリースノート

OpenShift Dedicated 4

OpenShift Dedicated 4 リリースノート

Red Hat OpenShift Documentation Team

概要

OpenShfit Dedicated 4 のリリースノート

第1章 OpenShift Dedicated 4 リリースノート

Red Hat OpenShift Dedicated では、設定や管理のオーバーヘッドを最小限に抑えながら、セキュアでスケーラブルなリソースに新規および既存のアプリケーションをデプロイするハイブリッドクラウドアプリケーションプラットフォームを開発者や IT 組織に提供します。OpenShift Dedicated は、Java、Javascript、Python、Ruby および PHP など、幅広いプログラミング言語およびフレームワークをサポートしています。

Red Hat Enterprise Linux および Kubernetes にビルドされる OpenShift Dedicated は、エンタープライズレベルの最新アプリケーションに対してよりセキュアでスケーラブルなマルチテナント対応のオペレーティングシステムを提供するだけでなく、統合アプリケーションランタイムやライブラリーを提供します。OpenShift Dedicated を使用することで、組織はセキュリティー、プライバシー、コンプライアンス、ガバナンスの各種の要件を満たすことができます。

1.1. 本リリースについて

Red Hat OpenShift Dedicated (RHBA-2019:2921) をご利用いただけるようになりました。本リリースでは、CRI-O ランタイムで Kubernetes 1.14 を使用します。以下では、OpenShift Dedicated 4 に関連する新機能、変更点および既知の問題について説明します。

1.2. 新機能および改良された機能

今回のリリースでは、以下のコンポーネントおよび概念に関連する拡張機能が追加されました。

1.2.1. OpenShift Do

OpenShift Do (odo) は、OpenShift でアプリケーションを作成、ビルド、およびデプロイするための開発者向けの CLI ツールです。odo ツールは完全にクライアントベースで、デプロイに OpenShift Dedicated クラスター内のサーバーを必要としません。これは、ローカルコードの変更を検知し、これをクラスターに自動的にデプロイすると共に、変更を検証するためのインスタントフィードバックをリアルタイムで提供します。複数のプログラミング言語やフレームワークをサポートします。

1.2.2. CodeReady コンテナー

CodeReady コンテナーは OpenShift Dedicated 4 以降の最小クラスターのローカルデスクトップインスタンスを提供します。このクラスターは、開発およびテスト目的で使用される最小限の環境を開発者に提供します。これには、OpenShift クラスターを実行する CodeReady コンテナーの仮想マシンと対話するための crc CLI が含まれます。

1.2.3. Web コンソール

1.2.3.1. コンソールのカスタマイズオプション

OpenShift Dedicated Web コンソールをカスタマイズして、カスタムロゴ、リンク、通知バナー、およびコマンドラインのダウンロードを設定できます。これは、Web コンソールを企業や政府の特定要件を満たすように調整する必要がある場合にとくに役立ちます。

1.2.3.2. 新規 API Explorer

API リソースは、HomeExplore にある Explore API Resources ダッシュボードで簡単に検索し、管理できます。

各 API のスキーマとサポートされるパラメーターを確認し、API のインスタンスを管理し、各 API のアクセスを確認できます。

1.2.3.3. Developer パースペクティブ

Developer パースペクティブは、開発者中心の視点を Web コンソールに追加します。これは、複数のオプションを使用したアプリケーションの作成や OpenShift Dedicated へのデプロイメントなど、開発者のユースケースに固有のワークフローを提供します。これは、プロジェクト内のアプリケーションを視覚的に表示し、それらのビルドステータスおよびアプリケーションに関連するコンポーネントやサービスを表示し、対話およびモニタリングを容易にします。また、Serverless 機能 (テクノロジープレビュー)、および Eclipse Che を使用してアプリケーションコードを編集するためのワークスペースを作成する機能を組み込みます。

1.2.3.4. Prometheus クエリー

Prometheus クエリーを Web コンソールで直接実行できるようになりました。MonitoringMetrics に移動します。

1.2.3.5. Web コンソールの一般的な更新情報

  • ダッシュボードのデザインが新たになり、メトリクスが新たに追加されました。
  • CatalogDeveloper パースペクティブに移動しました: DeveloperAdd+From Catalog に移動します。
  • プロジェクトのステータスは、プロジェクトの詳細ページの Workloads タブに移動しました。
  • OperatorHub は Operators メニューの下に置かれています。
  • チャージバックのサポートが利用可能になりました。アプリケーションごとに要求される予約済みおよび使用済みのリソースを表示できます。
  • 現時点で非推奨となっているサービスカタログを有効にしなくても、ネイティブテンプレートのサポートが利用可能になりました。

1.3. 主な技術上の変更点

OpenShift Dedicated 4 では、主に以下のような技術上の変更点が加えられています。

corsAllowedOrigins
ビルドによるレイヤーの維持

OpenShift Dedicated 4 では、ビルドはデフォルトでレイヤーを保持します。

Ingress コントローラーのサポートが無効になる

Ingress コントローラー TLS 1.0 および 1.1 サポートは、Mozilla Intermediate のセキュリティープロファイルに一致するように無効にされています。

新規およびアップグレードされた Ingress コントローラーはこれらの TLS バージョンをサポートしなくなりました。

CatalogSourceConfig の不使用による OperatorHub の複雑性の軽減

OperatorHub は、クラスター管理者が対話する API リソースの数を減らし、OpenShift Dedicated 4 での新規 Operator のインストールを単純化するために更新されました。

OpenShift Dedicated 4.1 で OperatorHub を使用するために、クラスター管理者は主に OperatorSource および CatalogSourceConfig API リソースと対話する必要がありました。OperatorSource は、Operator バンドルが保管される外部データストアを追加するために使用されます。

CatalogSourceConfig は、クラスターの OperatorSource にある Operator を有効にするために使用されます。この背後では、Operator が OLM で管理されるように Operator Lifecycle Manager (OLM) CatalogSource が設定されていました。

複雑さの軽減を図るため、OpenShift Dedicated 4 では OperatorHub は Operator をインストールするワークフローで CatalogSourceConfig を使用しなくなりました。その代わりに、CatalogSource が OperatorSource をクラスターに追加する結果として引き続き作成されます。ただし、サブスクリプションリソースが CatalogSource を使用して直接作成できるようになりました。

注記

OperatorHub は CatalogSourceConfig リソースを使用しなくなりましたが、それらは OpenShift Dedicated で引き続きサポートされます。

グローバルカタログ namespace の変更

OpenShift Dedicated 4.1 では、CatalogSource がデフォルトでインストールされるデフォルトのグローバルカタログ namespace は openshift-operator-lifecycle-manager でした。OpenShift Dedicated 4 より、これは openshift-marketplace namespace に変更されました。

OpenShift Dedicated 4.1 クラスターで OperatorHub から Operator をインストールしている場合、CatalogSource はサブスクリプションと同じ namespace に置かれます。これらのサブスクリプションはこの変更による影響を受けず、クラスターのアップグレード後も引き続き通常通りに動作することが予想されます。

OpenShift Dedicated 4 では、Operator を OperatorHub からインストールする場合、作成されるサブスクリプションは新規グローバルカタログ namespace のopenshift-marketplaceにある CatalogSource を参照します。

以前のグローバルカタログ namespace にある既存のサブスクリプションについての回避策

古い openshift-operator-lifecycle-manager namespace に既存の CatalogSource がある場合、その CatalogSource を参照する既存のサブスクリプションオブジェクトはアップグレードに失敗し、その CatalogSource を参照する新規サブスクリプションオブジェクトはインストールに失敗します。

このようなアップグレードの失敗を回避するために、以下を実行します。

手順

  1. CatalogSource オブジェクトを以前のグローバルカタログ namespace から openshift-marketplace namespace に移動します。

1.3.1. 非推奨の機能

サービスカタログ、テンプレートサービスブローカー、Ansible Service Broker およびそれらの Operator が非推奨になる

OpenShift Dedicated 4 では、サービスカタログ、テンプレートサービスブローカー、Ansible Service Broker およびそれらの Operator が非推奨になりました。これらは今後の OpenShift Dedicated リリースで削除されます。

以下の関連する API は今後のリリースで削除されます。

  • *.servicecatalog.k8s.io/v1beta1
  • *.automationbroker.io/v1alpha1
  • *.osb.openshift.io/v1
クラスターロール API が非推奨になる

以下の API は非推奨となり、今後のリリースで削除されます。

  • ClusterRole.authorization.openshift.io: ClusterRole.rbac.authorization.k8s.io を代わりに使用します。
  • ClusterRoleBinding.authorization.openshift.io: ClusterRoleBinding.rbac.authorization.k8s.io を代わりに使用します。
  • Role.authorization.openshift.io: Role.rbac.authorization.k8s.io を代わりに使用します。
  • RoleBinding.authorization.openshift.io: RoleBinding.rbac.authorization.k8s.io を代わりに使用します。
OperatorSource が非推奨になる

今後のリリースでは、OperatorHub からの OperatorSource の使用は非推奨となり、 operatorsource.operators.coreos.com/v1 API は削除されます。

oc/oapi エンドポイントが非推奨になる

oc/oapi エンドポイントの使用は非推奨となり、今後のリリースで削除されます。/oapi エンドポイントはグループのパーミッションに依存しない OpenShift Dedicated API を提供しますが、4.1 で削除されました。

oc version-short フラグが非推奨になる

oc version --short フラグが非推奨になりました。--short フラグはデフォルトの出力を印刷するために使用されました。

Recycle 回収ポリシー

Recycle 回収ポリシーが非推奨になりました。動的プロビジョニングが推奨されています。

1.4. バグ修正

ビルド

  • ブロックされたレジストリーは、Buildah で使用される registries.conf に設定されませんでした。そのため、Buildah はクラスターイメージポリシーによってブロックされたレジストリーにイメージをプッシュすることができました。今回のバグ修正により、ビルド用に生成される registries.conf ファイルにブロックされたレジストリーが含まれるようになりました。ビルドでは、イメージのプルおよびプッシュについてブロックされたレジストリーの設定が考慮に入れられるようになりました。(BZ#1730722)
  • シェル変数が Source-to-Image (S2B) を使用したビルド設定で参照される際に、 Source-to-Image (S2B) を実行するために使用される可能性のある Dockerfile の生成を試行するロジックがそれらの変数の評価を誤って試行しました。その結果、一部のシェル変数は空の値として誤って評価され、これによりビルドエラーが発生し、その他の変数は、それらの誤って試行された評価に関連したエラーメッセージをトリガーしました。ビルド設定で参照されるシェル変数は適切にエスケープされるようになり、それらは予想通りのタイミングで評価されるようになりました。これらのエラーは以後確認されなくなりました。(BZ#1712245)
  • ロジックのバグにより、ビルド後のイメージのレジストリーへのプッシュの試行は、ビルドの BuildConfig が DockerImage タイプの出力を指定しているものの、その出力イメージに指定されている名前にタグコンポーネントが含まれていない場合に失敗しました。その結果、ビルドされたイメージのプッシュの試行は失敗しました。ビルダーは、名前が指定されていない場合に「latest」タグを名前に追加するようになりました。タグコンポーネントを含まない名前の、DockerImage タイプの出力を指定する BuildConfig を使用してビルドされたイメージは、「latest」タグを使用してプッシュできるようになりました。(BZ#1746499)

コンテナー

  • rshared の伝播により、/sys ファイルシステムがその上部に再帰的にマウントし、コンテナーが「no space left on device (デバイス上に領域がない)」というエラーを出して起動に失敗する可能性がありました。今回のバグ修正により、それぞれの上部に /sys が再帰的にマウントされなくなり、その結果としてコンテナーが rshared: true オプションが設定された状態で正常に実行されるようになりました。(BZ#1711200)
  • Dockerfile ビルダーがコンテンツをビルダーコンテキストや直前のステージからではなく、イメージからコピーするように指定するために --from フラグを使用した COPY 命令を処理した場合、イメージの名前は FROM 命令で指定されているかのようにログに記録されることがありました。この名前は、複数の COPY 命令がこれを --from フラグの引数として指定している場合に複数回一覧表示されました。今回のバグ修正により、ビルダーは、ビルドプロセスの開始時にこのように参照されるイメージのプルについてはトリガーを試行しなくなりました。その結果、--from フラグを使用して COPY 命令で参照されるイメージは、それらのコンテンツが必要になるまでプルされなくなり、ビルドログは、このようなイメージの名前を指定する FROM 命令をログに記録しなくなりました。(BZ#1684427)
  • ビルドコンテキストディレクトリーに .dockerignore ファイルが含まれる場合に COPY および ADD 命令を処理するログは、一部のシンボリックリンクおよびサブディレクトリーを適切に処理しませんでした。バグをトリガーする COPY または ADD 命令の処理を試みる際に、この影響を受けるビルドは失敗しました。今回のバグ修正によりこのケースを処理するロジックが拡張されたため、同様のエラーは発生しなくなりました。(BZ#1707941)

イメージ

  • 長期間実行される jenkins エージェントまたはスレーブ Pod に、以前に jenkins マスターで確認された不具合プロセスの現象が生じる可能性があります。Pod が終了するまでいくつかの不具合プロセスがプロセスの一覧に表示されます。今回のバグ修正により、OpenShift Jenkins マスターイメージで dumb-init を使用して、jenkins ジョブの処理中に発生するこれらの不具合プロセスをクリーンアップできるようになりました。その結果、エージェントまたはスレーブ Pod 内や、それらの Pod が置かれているホストで表示されるプロセス一覧に不具合プロセスが含まれなくなりました。(BZ#1705123)
  • 4 での OAuth サポートの変更により、 Jenkins サービスアカウント証明書と OAuth サーバーのルーターで使用される証明書間での異なる証明書の設定の使用が許可されるようになりました。そのため、Jenkins コンソールにログインできなくなる可能性がありました。今回のバグ修正により、OpenShift Dedicated Jenkins ログインプラグインは、Pod にマウントされた証明書のほか、JVM で利用可能なデフォルト証明書を使って TLS 接続を試行するように更新されました。現時点では、jenkins コンソールにログインできるようになりました。(BZ#1709575)
  • OpenShift Dedicated Jenkins 同期プラグインでは、Jenkins Kubernetes プラグイン PodTemplate について処理する際に同じ名前を持つ ImageStream と ConfigMap による混乱が生じ、一方のタイプのイベントで他方のタイプ用に作成された Pod テンプレートが削除される状態が見られました。今回のバグ修正により、OpenShift Dedicated Jenkins Sync プラグインが変更され、特定の名前の Pod テンプレートを作成した API オブジェクトタイプを追跡できるようになりました。今回のリリースより、OpenShift Dedicated Sync プラグインの ConfigMap および ImageStream からのマッピングによって作成された Jenkins Kubernetes プラグイン PodTemplate が、同じ名前を持つ 2 つのタイプがクラスターに存在する場合でも誤って削除されなくなりました。(BZ#1711340)
  • Samples Operator 設定を迅速に、かつ連続して削除すると、最後に実行する削除がハングし、Operator の ImageChangesInProgress 状態が True のままになる可能性がありました。これにより、Samples Operator の clusteroperator オブジェクトが Progressing==True のままとなり、クラスターサンプルが不定の状態になりました。今回のバグ修正により、削除ファイナライザーと Samples upsert 間の調整に関連する修正が導入されました。Samples Operator 設定オブジェクトを迅速に、かつ連続して削除しても、予想通りに正常に機能するようになりました。(BZ#1735711)
  • 以前のバージョンでは、プルーナーが単一の要求ですべてのイメージを取得していたため、要求に時間がかかりすぎていました。今回のバグ修正により、ページャーを使用してすべてのイメージを取得できるようになりました。プルーナーはタイムアウトなしですべてのイメージを取得できるようになりました。(BZ#1702757)
  • 以前のバージョンでは、インポーターは最大で 3 つの署名のみをインポートできましたが、registry.redhat.io には通常 4 つ以上の署名が含まれます。そのため、署名がインポートされないことがありました。今回のバグ修正により、インポーターの上限が引き上げられ、署名をインポートできるようになりました。(BZ#1722568)

Web コンソール

  • 以前のリリースでは、イベントについてのコンソール Operator のログにより、重複するメッセージが出力されました。依存関係リポジトリーのバージョン更新によりこの問題は修正され、コンソール Operator ログのメッセージの重複はなくなりました。(BZ#1687666)
  • シークレットの値が難読化されたため、ユーザーは Webhook URL 全体をコピーできませんでした。リンクが追加され、シークレットの値が含まれる Webhook URL 全体をコピーできるようになりました。(BZ#1665010)
  • Web コンソールの「Machine」および「Machine Set details」ページには Events タブが含まれていませんでした。Events タブが追加され、Machine および Machine Set details ページから選択できるようになりました。(BZ#1693180)
  • 以前のバージョンでは、Web コンソールの詳細ページからノードのステータスを表示することはできませんでした。ステータスフィールドが追加され、ユーザーは詳細ページからノードのステータスを表示できるようになりました。(BZ#1706868)
  • 以前のバージョンでは、Operator を OperatorHub でインストールした直後に Operator リソースを作成しようとすると、Web コンソールに空のポップアップが表示されることがありました。今回のバグ修正により、Operator が利用可能になる前にリソースの作成を試行する場合に明確メッセージが表示されるようになりました。(BZ#1710079)
  • 以前のバージョンでは、Web コンソールの「Deployment Config Details」ページでは、最初のリビジョンがロールアウトされる前にステータスが Active と表示されました。今回のバグ修正により、ステータスはロールアウト前は Updating と表示され、ロールアウトの完了後は Up to date と表示されるようになりました。(BZ#1714897)
  • 以前のバージョンでは、Web コンソールのノードのメトリクスチャートが複数のノードの使用率の合計を間違って表示する場合がありました。今回のバグ修正により、ノードページのチャートに該当ノードの使用率のみが表示されるようになりました。(BZ#1720119)
  • 以前のリリースでは、OpenID アイデンティティープロバイダーの ca.crt 値は、Web コンソールで作成された場合に適切に設定されませんでした。この問題は修正され、ca.crt が正しく設定されるようになりました。BZ#1727282)
  • 以前のバージョンでは、ユーザーが CRD 一覧から ClusterResourceQuota インスタンスに移動する際にエラーが Web コンソールに表示されました。この問題は修正され、CRD ページから ClusterResourceQuota インスタンスを正常に一覧表示できるようになりました。(BZ#1742952)
  • 以前のバージョンでは、ノードのスケジュールできない状態が Web コンソールのノード一覧に表示されませんでした。この情報には、CLI との整合性がありませんでした。コンソールでは、 ノードのスケジュールできない状態がノード一覧およびノード詳細ページに表示されるようになりました。(BZ#1748405)
  • 以前のバージョンでは、Web コンソールのリソース詳細ページに、設定マップおよびシークレットキーがすべて大文字で表示されました。キー名はファイル名であることが多く、大文字/小文字が区別されることが多いため、これによって問題が生じました。OpenShift Dedicated 4 の Web コンソールでは、設定マップおよびシークレットキーが適切に表示されるようになりました。(BZ#1752572)

oc

  • ノードセレクターのラベルの誤った検証により、ラベル上のキーの空の値が許可されないことがありました。今回の更新により、ノードセレクターのラベル検証メカニズムが修正され、ラベル上のキーの空の値が有効なノードセレクターになりました。(BZ#*1683819)
  • oc get コマンドは、空の結果一覧を受信すると適切な情報を返しませんでした。今回の更新により、oc get で空の一覧を受信する際に返される情報が改善されました。(BZ#1708280)

テンプレート

  • 以前のリリースでは、Samples Operator 設定オブジェクト (configs.samples.operator.openshift.io)のカスタムリソース定義には openAPIV3Schema 検証が定義されていませんでした。そのため、oc explain はオブジェクトについての役立つ情報を提供できませんでした。今回の修正により、openAPIV3Schema 検証が追加され、oc explain がオブジェクトで機能するようになりました。(BZ#1705753)
  • 以前のバージョンでは、Samples Operator はシークレット、イメージストリームおよびテンプレートについてのコントローラー/インフォーマーベースの監視機能を維持すべく、直接の OpenShift Dedicated go クライアントを使用して GET 呼び出しを実行しました。このため、OpenShift Dedicated API サーバーに対して不必要な API 呼び出しが行われました。今回の修正により、インフォーマー/リスナー API を活用し、OpenShift Dedicated API サーバーに対するアクティビティーを軽減できるようになりました。(BZ#1707834)
  • 以前のバージョンでは、Samples Operator は cluster-reader ロールに集約されるクラスターロールを作成していませんでした。そのため、cluster-reader ロールのあるユーザーは、Samples Operator の設定オブジェクトを読み取ることができませんでした。今回の更新により、Sample Operator のマニフェストが、設定オブジェクトへの読み取り専用アクセスのためのクラスターロールを組み込むように更新され、このロールは cluster-reader ロールに集約されるようになりました。cluster-reader ロールを持つユーザーは、Samples Operator の設定オブジェクトの読み取り、一覧表示、および監視を実行できるようになりました。(BZ#1717124)

法律上の通知

Copyright © 2020 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.