1.5. 主な技術上の変更点

OpenShift Container Platform 4.8 では、主に以下のような技術的な変更点が加えられています。

Kuryr サービスサブネットの作成の変更

Kuryr を使用するように設定された Open Virtual Network を使用したRed Hat OpenStack Platform (RHOSP) への OpenShift Container Platform の新規インストールでは、networking.serviceCIDR で要求されたサイズの2倍の services サブネットが作成されなくなりました。作成されたサブネットは、要求されたサイズと同じになります。詳細は、BZ#1955548 を参照してください。

SHA-256 プレフィックスのない OAuth トークンが使用不可になる

OpenShift Container Platform 4.6 よりも前のバージョンでは、OAuth のアクセスおよび認証トークンはオブジェクト名のシークレット情報を使用していました。

OpenShift Container Platform 4.6 以降、OAuth アクセストークンおよび認証トークンオブジェクト名は、SHA-256 プレフィックスを持つ機密ではないオブジェクト名として保存されます。OpenShift Container Platform 4.8 では、SHA-256 プレフィックスが含まれない OAuth トークンは使用されず、作成できなくなります。

Federal Risk and Authorization Management Program (FedRAMP) モードレート制御

OpenShift Container Platform 4.8 では、rhcos4-moderate プロファイルが完了しています。ocp4-moderate プロファイルは今後のリリースで完了されます。

Ingress コントローラーを HAProxy 2.2.13 にアップグレード

OpenShift Container Platform Ingress コントローラーが HAProxy version 2.2.13 にアップグレードされます。

CoreDNS がバージョン 1.8.1 に更新される

OpenShift Container Platform 4.8 では、CoreDNS はバージョン 1.8.1 を使用します。これには、バグ修正、名前が変更されたメトリクス、およびデュアルスタック IPv6 対応が含まれます。

etcd が zap ロガーを使用する

OpenShift Container Platform 4.8 では、etcd は capnslog ではなく、デフォルトのロガーとして zap を使用するようになりました。zap は、マシンで消費可能な JSON ログメッセージを提供する構造化ロガーです。jq を使用して、これらのログメッセージを簡単に解析することができます。

capnslog 形式の使用が予想されるログコンシューマーがある場合、zap ロガー形式に合わせてこれを調整する必要がある場合があります。

サンプル capnslog 形式 (OpenShift Container Platform 4.7)

2021-06-03 22:40:16.984470 W | etcdserver: read-only range request "key:\"/kubernetes.io/operator.openshift.io/clustercsidrivers/\" range_end:\"/kubernetes.io/operator.openshift.io/clustercsidrivers0\" count_only:true " with result "range_response_count:0 size:8" took too long (100.498102ms) to execute

サンプル zap 形式 (OpenShift Container Platform 4.8)

{"level":"warn","ts":"2021-06-14T13:13:23.243Z","caller":"etcdserver/util.go:163","msg":"apply request took too long","took":"163.262994ms","expected-duration":"100ms","prefix":"read-only range ","request":"key:\"/kubernetes.io/namespaces/default\" serializable:true keys_only:true ","response":"range_response_count:1 size:53"}

LSO 用にマージされた複数のデーモンセット

OpenShift Container Platform 4.8 では、複数のデーモンセットがローカルストレージオブジェクト (LSO) に対してマージされます。ローカルボリュームカスタムリソースを作成すると、daemonset.apps/diskmaker-manager のみが作成されます。

バインドされたサービスアカウントトークンボリュームが有効化されている

以前のバージョンでは、サービスアカウントトークンは Pod にマウントされたシークレットでした。OpenShift Container Platform 4.8 以降では、代わりに Projected ボリュームを使用します。この変更により、サービスアカウントトークンには基礎となる対応するシークレットが含まれなくなりました。

バインドされたサービスアカウントトークンは、オーディエンスバインドとタイムバインドです。詳細は、「バインドされたサービスアカウントトークンの使用」を参照してください。

さらに、kubelet はトークンが期間の 80 パーセントに達するとトークンを自動的に更新し、client-go はトークンの変更を監視して自動的にリロードします。これら 2 つの動作の組み合わせは、バインドされたトークンのほとんどの使用法が、期限切れにならないレガシートークンの使用法と変わらないことを意味します。client-go 以外での非標準的な使用は、問題を引き起こす可能性があります。

Operator SDK v1.8.0

OpenShift Container Platform 4.8 は Operator SDK v1.8.0 をサポートします。この最新バージョンにインストールまたは更新するには、「Operator SDK CLI のインストール」を参照してください。

注記

Operator SDK v1.8.0 は Kubernetes 1.20 をサポートします。

以前に Operator SDK v1.3.0 で作成または保守された Operator プロジェクトがある場合は、「新しい Operator SDK バージョンのプロジェクトのアップグレード」を参照してプロジェクトをアップグレードし、Operator SDK v1.8.0 との互換性が維持されていることを確認してください。