1.8. 既知の問題
OpenShift Container Platform 4.1 では、匿名ユーザーは検出エンドポイントにアクセスできました。後のリリースでは、一部の検出エンドポイントは集約された API サーバーに転送されるため、このアクセスを無効にして、セキュリティーの脆弱性の可能性を減らすことができます。ただし、既存のユースケースに支障がで出ないように、認証されていないアクセスはアップグレードされたクラスターで保持されます。
OpenShift Container Platform 4.1 から 4.9 にアップグレードされたクラスターのクラスター管理者の場合、認証されていないアクセスを無効にするか、またはこれを引き続き許可することができます。特定の必要がなければ、認証されていないアクセスを無効にすることが推奨されます。認証されていないアクセスを引き続き許可する場合は、それに伴ってリスクが増大することに注意してください。
警告認証されていないアクセスに依存するアプリケーションがある場合、認証されていないアクセスを取り消すと HTTP
403
エラーが生じる可能性があります。以下のスクリプトを使用して、検出エンドポイントへの認証されていないアクセスを無効にします。
## Snippet to remove unauthenticated group from all the cluster role bindings $ for clusterrolebinding in cluster-status-binding discovery system:basic-user system:discovery system:openshift:discovery ; do ### Find the index of unauthenticated group in list of subjects index=$(oc get clusterrolebinding ${clusterrolebinding} -o json | jq 'select(.subjects!=null) | .subjects | map(.name=="system:unauthenticated") | index(true)'); ### Remove the element at index from subjects array oc patch clusterrolebinding ${clusterrolebinding} --type=json --patch "[{'op': 'remove','path': '/subjects/$index'}]"; done
このスクリプトは、認証されていないサブジェクトを以下のクラスターロールバインディングから削除します。
-
cluster-status-binding
-
discovery
-
system:basic-user
-
system:discovery
-
system:openshift:discovery
-
OpenShift Container Platform 4.9 にアップグレードする場合、Cluster Version Operator は、前提条件チェックに失敗している間、アップグレードを約 5 分間ブロックします。
It may not be safe to apply this update
エラーテキストは、誤解を招く可能性があります。このエラーは、1 つまたは複数の前提条件チェックが失敗した場合に発生します。状況によっては、これらの前提条件チェックは、etcd バックアップ中など、短期間しか失敗しない場合があります。このような状況では、Cluster Version Operator と対応する Operator は、設計上、失敗した前提条件チェックを自動的に解決し、CVO はアップグレードを正常に開始します。ユーザーは、クラスターオペレーターのステータスと条件を確認する必要があります。Cluster Version Operator により
It may not be safe to apply this update
エラーが表示される場合は、これらのステータスと条件により、メッセージの重大度に関する詳細情報が提供されます。詳細については、BZ#1999777、BZ#2061444、BZ#2006611 を参照してください。
-
oc annotate
コマンドは、等号 (=
) が含まれる LDAP グループ名では機能しません。これは、コマンドがアノテーション名と値の間に等号を区切り文字として使用するためです。回避策として、oc patch
またはoc edit
を使用してアノテーションを追加します。(BZ#1917280) クラスター管理者は、503、404、または両方のエラーページのカスタム HTTP エラーコード応答ページを指定できます。カスタムエラーコードの応答ページに適した形式を指定しない場合は、ルーター Pod が停止し、解決されません。ルーターは、カスタムのエラーコードページの更新を反映するようにリロードされません。回避策として、
oc rsh
コマンドを使用してルーター Pod にローカルでアクセスできます。次に、カスタム http エラーコードページを提供するすべてのルーター Pod でreload-haproxy
を実行します。$ oc -n openshift-ingress rsh router-default-6647d984d8-q7b58 sh-4.4$ bash -x /var/lib/haproxy/reload-haproxy
または、ルートにアノテーションを付け、リロードを強制的に実行できます。(BZ#1990020), (BZ#2003961)
-
Open Virtual Network (OVN) のバグにより、Octavia ロードバランサーで永続的な接続の問題が発生します。Octavia ロードバランサーが作成されると、OVN はそれらを一部の Neutron サブネットにプラグインしない可能性があります。これらのロードバランサーは、Neutron サブネットの一部では到達できなくなる可能性があります。この問題は、Kuryr の設定時に各 OpenShift namespace に作成される Neutron サブネットに影響を与えます。その結果、この問題が発生すると、OpenShift
Service
オブジェクトを実装するロードバランサーが問題の影響を受ける OpenShift namespace から到達できなくなります。このバグにより、Kuryr SDN を使用する OpenShift Container Platform 4.8 デプロイメントの使用は、OVN および OVN Octavia が設定された Red Hat OpenStack Platform (RHOSP) 16.1 では推奨されません。これは、RHOSP の今後のリリースで修正されます。(BZ#1937392) - Kuryr を使用した Red Hat OpenStack Platform(RHOSP) へのインストールは、RHOSP API にアクセスするためにクラスター全体のプロキシーが必要な場合にクラスター全体のプロキシーで設定されている場合は機能しません。(BZ#1985486)
-
競合状態により、Red Hat OpenStack Platform(RHOSP) クラウドプロバイダーが適切に起動しないことがあります。そのため、LoadBalancer サービスは
EXTERNAL-IP
セットを取得できない場合があります。一時的な回避策として、BZ#2004542 で説明されている手順に従って kube-controller-manager Pod を再起動することができます。 -
ap-northeast-3
AWS リージョンは、サポートされる AWS リージョンである場合でも、OpenShift Container Platform のインストール時にインストールプログラムのオプションとしては提供されません。一時的な回避策として、インストールプロンプトで別の AWS リージョンを選択し、クラスターをインストールする前に、生成されたinstall-config.yaml
ファイルでリージョン情報を更新できます。(BZ#1996544) -
クラスターを
us-east-1
リージョンの AWS にインストールする場合、ローカルの AWS ゾーンは使用できません。一時的な回避策として、クラスターのインストール時にinstall-config.yaml
ファイルにローカル以外のアベイラビリティーゾーンを指定する必要があります。(BZ#1997059) - OpenShift Container Platform は、公的に信頼されている認証局 (CA) によって署名された証明書で保護されている、ARM エンドポイントなどのパブリックエンドポイントを備えた Azure Stack Hub にのみインストールできます。内部 CA のサポートは、今後の OpenShift Container Platform の z-stream リリースに追加されます。(BZ#2012173)
クラスター管理者は、503、404、または両方のエラーページのカスタム HTTP エラーコード応答ページを指定できます。ルーターは、カスタムのエラーコードページの更新を反映するようにリロードされません。回避策として、ルーター Pod で rsh を実行し、カスタム http エラーコードページを提供するすべてのルーター Pod で
reload-haproxy
を実行します。$ oc -n openshift-ingress rsh router-default-6647d984d8-q7b58 sh-4.4$ bash -x /var/lib/haproxy/reload-haproxy
または、ルートにアノテーションを付け、リロードを強制的に実行できます。(BZ#1990020)
- 本リリースには既知の問題が含まれています。OpenShift OAuth ルートのホスト名および証明書をカスタマイズする場合、Jenkins は OAuth サーバーエンドポイントを信頼しなくなりました。そのため、ユーザーは、アイデンティティーおよびアクセスを管理する OpenShift OAuth 統合に依存する場合に、Jenkins コンソールにログインできません。現時点では、回避策は利用できません。(BZ#1991448)
特定のカーディナリティの高い監視メトリックが誤って削除されたため、このリリースでは、
pod
、qos
、およびSystem
のコンテナーパフォーマンスの入力および出力メトリックは使用できません。この問題に対する回避策はありません。実稼働環境のワークロードのこれらのメトリクスを追跡するには、初期 4.9 リリースにアップグレードしないでください。(BZ#2008120)
- Special Resource Operator (SRO) は、ソフトウェア定義ネットワークポリシーにより、Google Cloud Platform へのインストールに失敗する可能性があります。その結果、simple-kmod Pod は作成されません。これは、OpenShift Container Platform 4.9.4 リリースで修正されています。(BZ#1996916)
- OpenShift Container Platform 4.9 では、クラスターロールを持つユーザーは、デプロイメントまたはデプロイメント設定の編集権限がない場合、コンソールを使用してデプロイメントまたはデプロイメント設定をスケーリングできません。(BZ#1886888)
- OpenShift Container Platform 4.9 では、Developer Console に最小限のデータまたはデータがない場合、大半のモニターリングチャートまたはグラフ (CPU 消費、メモリー使用量、および帯域幅など) には -1 から 1 の範囲が表示されます。ただし、これらの値はいずれもゼロ未満となる可能性があるため、負の値は正しくありません。(BZ#1904106)
-
cgroups
の不一致によりip vrf exec
コマンドは機能しません。そのため、このコマンドは OpenShift Pod 内では使用できません。VRF (Virtual Routing and Forwarding) を使用するには、アプリケーションを VRF に対応する 必要があり、VRF インターフェイスに直接バインドする必要があります。(BZ#1995631) -
NonUniform Memory Access (NUMA) のバグにより、コンテナーに対して不必要な NUMA ピニングが発生する可能性があり、レイテンシーやパフォーマンスが低下する可能性があります。Topology Manager は、
single-numa-node
トポロジー管理ポリシーが満たすことができるリソースを使用して、コンテナーを複数の NUMA ノードに固定できます。コンテナーは、Quality of Service (QoS) Pod の下に固定されます。回避策として、コンテナーのメモリーリソース要求がsingle-numa-node
ポリシーよりも大きな場合は、Guaranteed QoS Pod を起動しないでください。(BZ#1999603) - 時折、削除用に選択される Pod が削除されることがありました。これは、クラスターがリソース不足になると発生します。リソースを回収するために、システムは削除用に 1 つ以上の Pod を選択します。リソースが少ないと処理が遅くなるため、削除操作が設定された削除の猶予期間を超えて失敗する可能性があります。これが実行される場合は、Pod を手動で削除します。その後、クラスターは解放されたリソースを回収します。(BZ#1997476)
-
断続的に、Pod は
ContainerCreating
状態でハングし、Open vSwitch(OVS) ポートバインディングを待機している間にタイムアウトする可能性があります。報告されたイベントは、failed to configure pod interface: timed out waiting for OVS port binding
です。この問題は、OVN-Kubernetes プラグイン用に多くの Pod が作成されると発生する可能性があります。(BZ#2005598) -
出力ノードを再起動した後、
lr-policy-list に
は、レコードの重複や内部 IP アドレスの欠落などのエラーが含まれています。期待される結果は、lr-policy-list
が出力ノードをリブートする前と同じレコードを持つことです。回避策として、ovn-kubemaster
Pod を再起動できます。(BZ#1995887) - 分散ゲートウェイポートが含まれる論理ルーターで IP マルチキャストリレーが有効になっている場合は、分散ゲートウェイポート上でマルチキャストトラフィックが正しく転送されません。その結果、OVN-Kubernetes の IP マルチキャスト機能が壊れています。(BZ#2010374)
- Web コンソールの Administrator パースペクティブでは、ノードの一覧を表示することが可能なページは、ノードの一覧が利用可能になる前にレンダリングされます。これにより、ページが応答しなくなります。回避策はありませんが、この問題は今後のリリースで対処されます。(BZ#2013088)
Operator Lifecycle Manager (OLM) は、タイムスタンプチェックと廃止された API 呼び出しの組み合わせを使用します。これは
skipRange
アップグレードでは機能せず、特定のサブスクリプションのアップグレードを実行する必要があるかどうかを判断します。skipRange
アップグレードを使用する Operator の場合は、解決までに最大 15 分かかるアップグレードプロセスには遅延があり、さらに長くブロックされる可能性があります。回避策として、クラスター管理者は
openshift-operator-lifecycle-manager
namespace でcatalog-operator
Pod を削除できます。これにより、Pod が自動的に再作成され、skipRange
アップグレードがトリガーされます。(BZ#2002276)- 現在、FIPS モードを有効にして Google Cloud Platform で Red Hat Enterprise Linux(RHEL)8 を起動すると、Red Hat Update Infrastructure(RHUI) からパッケージをインストールしようとすると、RHEL8 はメタデータのダウンロードに失敗します。一時的な回避策として、RHUI リポジトリーを無効にして、Red Hat Subscription Management を使用してコンテンツを取得できます。(BZ#2001464), (BZ#1997516).
-
OpenShift Container Platform のシングルノードのリブートに続いて、すべての Pod が再起動します。これにより、大きな負荷が発生し、通常の Pod 作成時間が長くなります。これは、Container Network Interface (CNI) が
pod add
イベントを素早く処理できないために発生します。timed out waiting for OVS port binding
エラーメッセージが表示されます。OpenShift Container Platform の単一ノードインスタンスは最終的には想定よりも遅くなります。(BZ#1986216) - MetalLB が OVN-Kubernetes Container Network Interface ネットワークプロバイダーを使用してレイヤー 2 モードで実行される場合、スピーカー Pod が ARP または NDP 要求に応答する単一ノードではなく、クラスター内のすべてのノードが要求に応答します。予期しない ARP 応答の数は、ARP スプーフィング攻撃のようになります。エクスペリエンスは設計とは異なりますが、ホストまたはサブネット上のソフトウェアが ARP をブロックするように設定されていない限り、トラフィックはサービスにルーティングされます。このバグは、今後の OpenShift Container Platform リリースで修正されます。(BZ#1987445)
- Tang ディスク暗号化と静的 IP アドレス設定が VMWare vSphere ユーザープロビジョニングインフラストラクチャークラスターに適用されると、ノードは最初にプロビジョニングされた後、正しく起動できません。(BZ#1975701)
-
オペレーターは、Operator Lifecycle Manager(OLM) をローカルソースから実行するために、関連するイメージをリストする必要があります。現在、
ClusterServiceVersion
(CSV) オブジェクトのrelatedImages
パラメーターが定義されていない場合、opm render
は関連するイメージにデータを入力しません。これは、今後のリリースで修正される予定です。(BZ#2000379) - 以前は、Open vSwitch(OVS) は各 OpenShift Container Platform クラスターノードのコンテナーで実行され、ノードエクスポーターエージェントはノードから OVS CPU およびメモリーメトリックを収集していました。OVS は systemd ユニットとしてクラスターノードで実行され、メトリクスは収集されなくなりました。これは、今後のリリースで修正される予定です。OVS パケットメトリックは引き続き収集されます。(BZ#2002868)
-
OpenShift Container Platform Web コンソールのStorage
Overviewページを表示または非表示にするために使用されるフラグが正しく設定されていません。その結果、OpenShift Cluster Storage を含むクラスターのデプロイ後に概要ページが表示されません。これは、今後のリリースで修正される予定です。(BZ#2013132)
OpenShift Container Platform 4.6 以降では、プルのイメージ参照は、以下の Red Hat レジストリーを指定する必要があります。
-
registry.redhat.io
-
registry.access.redhat.com
-
quay.io
それらのレジストリーが指定されていない場合、ビルド Pod はイメージをプルできません。
回避策として、イメージのプル仕様で
registry.redhat.io/ubi8/ubi:latest
やregistry.access.redhat.com/rhel7.7:latest
などの完全修飾名を使用します。オプションで、イメージの短縮名を許可するレジストリーを追加 して、イメージレジストリー設定を更新できます。(BZ#2011293)
-
OpenShift Container Platform 4.8 以前のデフォルトのロードバランシングアルゴリズムは
leastconn
でした。パススルーでないルートの場合、OpenShift Container Platform 4.8.0 ではデフォルトがrandom
に変更されました。random
に切り替えると、長時間のウェブソケット接続を使用する必要がある環境では、メモリー消費量が大幅に増加するため、互換性がありません。この大幅なメモリー消費を軽減するために、OpenShift Container Platform 4.9 では、デフォルトのロードバランシングアルゴリズムがleastconn
に戻されました。大幅なメモリー使用量を発生させないソリューションが開発されれば、OpenShift Container Platform の将来のリリースでデフォルトがrandom
に変更される予定です。以下のコマンドを入力することで、デフォルトの設定を確認することができます。
$ oc get deployment -n openshift-ingress router-default -o yaml | grep -A 2 ROUTER_LOAD_BALANCE_ALGORITHM - name: ROUTER_LOAD_BALANCE_ALGORITHM value: leastconn
random
のオプションはまだ利用可能です。しかし、このアルゴリズムの選択の恩恵を受けたいルートは、以下のコマンドを入力して、ルートごとにアノテーションでそのオプションを明示的に設定する必要があります。$ oc annotate -n <NAMESPACE> route/<ROUTE-NAME> "haproxy.router.openshift.io/balance=random"
-
ローカルレジストリーでホストされるイメージが指定されると、
oc adm release extract --tools
コマンドが失敗します。(BZ#1823143) OpenShift Container Platform のシングルノード設定では、リアルタイムカーネル (
kernel-rt
) を使用した場合、非リアルタイムカーネルを使用した場合に比べて Pod の作成に 2 倍以上の時間がかかります。kernel-rt
を使用した場合、ノードの再起動後のリカバリータイムが影響を受けるため、Pod の作成に時間がかかり、サポートされる Pod の最大数に影響が出ます。回避策として、
kernel-rt
を使用する場合は、rcupdate.rcu_normal_after_boot=0
カーネル引数で起動することで、復旧時間を短縮できます。これには、リアルタイムカーネルバージョンkernel-rt-4.18.0-305.16.1.rt7.88.el8_4
以上が必要です。この既知の問題は、OpenShift Container Platform のバージョン 4.8.15 以上に該当します。(BZ#1975356)-
OpenShift Container Platform のシングルノードのリブートに続いて、すべての Pod が再起動します。これにより、大きな負荷が発生し、通常の Pod 作成時間が長くなります。これは、Container Network Interface (CNI) が
pod add
イベントを素早く処理できないために発生します。timed out waiting for OVS port binding
エラーメッセージが表示されます。OpenShift Container Platform の単一ノードインスタンスは最終的は復帰しますが、想定よりも遅くなります。この既知の問題は、OpenShift Container Platform のバージョン 4.8.15 以上に該当します。(BZ#1986216) -
bootkube
がoc
を使用して、クラスターのブートストラッププロセスの最後の方に使用しようとする SNO クラスターのプロビジョニング中にエラーが発生します。kube API はシャットダウン要求を受け取り、これによりクラスターのブートストラッププロセスが失敗します。(BZ#2010665) - 同じホストへの 4.8 デプロイメントに成功した後に OpenShift Container Platform バージョン 4.9 SNO クラスターをデプロイすると、ブートテーブルエントリーが変更されたために失敗します。(BZ#2011306)
- 受信トレイ iavf ドライバーが不安定であるという問題があります。これは、DPDK ベースのワークロードが OpenShift Container Platform バージョン 4.8.5 にデプロイされている場合に明らかです。この問題は、RHEL for Real Time 8 を実行しているホストに DPDK ワークロードがデプロイされている場合にも明らかです。この問題は、Intel XXV710 NIC がインストールされているホストで発生します。(BZ#2000180)
-
クロックジャンプエラーは、PTP Operator によってデプロイされる
linuxptp
サブシステムで発生します。clock jumped backward or running slower than expected!
というエラーメッセージが報告されます。OpenShift Container Platform バージョン 4.8 または 4.9 クラスターに Intel Columbiaville E810 NIC がインストールされているホストでエラーが発生します。このエラーは、linuxptp
サブシステムのエラーではなく、Intel ice ドライバー関連のエラーである可能性が高いです。(BZ#2013478) DU ノードのゼロタッチプロビジョニング (ZTP) のインストール時に Operator のインストールが失敗する場合があります。
InstallPlan
API はエラーを報告します。報告されるエラーメッセージは、Bundle unpacking failed.Reason: DeadlineExceeded
です。このエラーは、Operator インストールジョブが 600 秒を超えると発生します。回避策として、失敗した Operator に対して以下の
oc
コマンドを実行して、Operator のインストールを再試行します。カタログソースを削除します。
$ oc -n openshift-marketplace delete catsrc <failed_operator_name>
インストール計画を削除します。
$ oc -n <failed_operator_namespace> delete ip <failed_operator_install_plan>
サブスクリプションを削除し、Operator
CatalogSource
およびSubscription
リソースが、関連するカスタムリソースポリシーによって再作成されるのを待ちます。$ oc -n <failed_operator_namespace> delete sub <failed_operator_subscription>
想定される結果
Operator
InstallPlan
およびClusterServiceVersion
リソースが作成され、Operator がインストールされている。
SR-IOV Operator と Machine Config Operator(MCO) の間に競合状態が存在します。これは、DU ノードの ZTP インストールプロセス中に断続的に発生し、さまざまな形で現れます。競合状態により、以下のエラーが生じる可能性があります。
ZTP インストールプロセスが DU ノードのプロビジョニングを終了すると、パフォーマンスプロファイルの設定が適用されない場合があります。ZTP インストールプロセスで DU ノードのプロビジョニングが終了すると、パフォーマンスプロファイル設定はノードに適用されず、
MachineConfigPool
リソースはUpdating
状態のままになります。回避策として、以下の手順を実施してください。
障害が発生した DU ノードの名前を取得します。
$ oc get mcp
出力例
NAME CONFIG UPDATED UPDATING DEGRADED control-plane-1 rendered-control-plane-1-90fe2b00c718 False True False compute-1 rendered-compute-1-31197fc6da09 True False False
障害が発生したノードの遮断を解除し、
machine-config-daemon
がパフォーマンスプロファイルを適用するまで待機します。以下に例を示します。$ oc adm uncordon compute-compute-1-31197fc6da09
想定される結果
machine-config-daemon
は、パフォーマンスプロファイル設定をノードに適用します。
- パフォーマンスプロファイル設定が、DU ノードの設定時に適用されないことがあります。回避策として、DU ノードにポリシーを適用するシーケンスを変更します。Machine Config Operator(MCO) および Performance Addon Operator(PAO) ポリシーを最初に適用してから、SR-IOV ポリシーを適用します。
DU ノードのポリシー設定時に、再起動に数十分かかる場合があります。このインスタンスの回避策は必要ありません。システムは最終的に回復します。
- 仮想機能 (VF) がすでに存在する場合、Physical Fundtion (PF) で macvlan を作成することはできません。この問題は、Intel E810 NIC に影響します。(BZ#2120585)