1.8. 既知の問題

  • OpenShift Container Platform 4.1 では、匿名ユーザーは検出エンドポイントにアクセスできました。後のリリースでは、一部の検出エンドポイントは集約された API サーバーに転送されるため、このアクセスを無効にして、セキュリティーの脆弱性の可能性を減らすことができます。ただし、既存のユースケースに支障がで出ないように、認証されていないアクセスはアップグレードされたクラスターで保持されます。

    OpenShift Container Platform 4.1 から 4.12 にアップグレードされたクラスターのクラスター管理者の場合、認証されていないアクセスを無効にするか、これを引き続き許可することができます。認証なしのアクセスが必要な理由が特に無い限り、無効にしてください。認証されていないアクセスを引き続き許可する場合は、それに伴ってリスクが増大することに注意してください。

    警告

    認証されていないアクセスに依存するアプリケーションがある場合、認証されていないアクセスを取り消すと 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

    (BZ#1821771)

  • 断続的に、一部のワーカーマシンが起動しないために、IBM Cloud VPC クラスターのインストールが失敗することがあります。むしろ、これらのワーカーマシンは Provisioned フェーズのままです。

    この問題には回避策があります。最初のインストールを実行したホストから、失敗したマシンを削除し、インストールプログラムを再度実行します。

    1. マスター API サーバーの内部アプリケーションロードバランサー (ALB) のステータスが active であることを確認します。

      1. 次のコマンドを実行して、クラスターのインフラストラクチャー ID を特定します。

        $ oc get infrastructure/cluster -ojson | jq -r '.status.infrastructureName'
      2. クラスターの IBM Cloud アカウントにログインし、クラスターの正しいリージョンをターゲットにします。
      3. 次のコマンドを実行して、内部 ALB ステータスが active であることを確認します。

        $ ibmcloud is lb <cluster_ID>-kubernetes-api-private  --output json | jq -r '.provisioning_status'
    2. 次のコマンドを実行して、Provisioned フェーズにあるマシンを特定します。

      $ oc get machine -n openshift-machine-api

      出力例

      NAME                                    PHASE         TYPE       REGION    ZONE        AGE
      example-public-1-x4gpn-master-0         Running       bx2-4x16   us-east   us-east-1   23h
      example-public-1-x4gpn-master-1         Running       bx2-4x16   us-east   us-east-2   23h
      example-public-1-x4gpn-master-2         Running       bx2-4x16   us-east   us-east-3   23h
      example-public-1-x4gpn-worker-1-xqzzm   Running       bx2-4x16   us-east   us-east-1   22h
      example-public-1-x4gpn-worker-2-vg9w6   Provisioned   bx2-4x16   us-east   us-east-2   22h
      example-public-1-x4gpn-worker-3-2f7zd   Provisioned   bx2-4x16   us-east   us-east-3   22h

    3. 次のコマンドを実行して、失敗した各マシンを削除します。

      $ oc delete machine <name_of_machine> -n openshift-machine-api
    4. 削除されたワーカーマシンが置き換えられるまで待ちます。これには最大 10 分かかる場合があります。
    5. 次のコマンドを実行して、新しいワーカーマシンが Running フェーズにあることを確認します。

      $ oc get machine -n openshift-machine-api

      出力例

      NAME                                    PHASE     TYPE       REGION    ZONE        AGE
      example-public-1-x4gpn-master-0         Running   bx2-4x16   us-east   us-east-1   23h
      example-public-1-x4gpn-master-1         Running   bx2-4x16   us-east   us-east-2   23h
      example-public-1-x4gpn-master-2         Running   bx2-4x16   us-east   us-east-3   23h
      example-public-1-x4gpn-worker-1-xqzzm   Running   bx2-4x16   us-east   us-east-1   23h
      example-public-1-x4gpn-worker-2-mnlsz   Running   bx2-4x16   us-east   us-east-2   8m2s
      example-public-1-x4gpn-worker-3-7nz4q   Running   bx2-4x16   us-east   us-east-3   7m24s

    6. 次のコマンドを実行して、インストールを完了します。インストールプログラムを再度実行すると、クラスターの kubeconfig が適切に初期化されます。

      $ ./openshift-install wait-for install-complete

      (OCPBUGS#1327)

  • oc annotate コマンドは、等号 (=) が含まれる LDAP グループ名では機能しません。これは、コマンドがアノテーション名と値の間に等号を区切り文字として使用するためです。回避策として、oc patch または oc edit を使用してアノテーションを追加します。(BZ#1917280)
  • 一部のイメージインデックスに古いイメージが含まれているため、oc adm catalog mirror および oc image mirror を実行すると、error: unable to retrieve source image エラーが発生する場合があります。一時的な回避策として、--skip-missing オプションを使用してエラーを回避し、イメージインデックスのダウンロードを続行できます。詳細は、Service Mesh Operator mirroring failed を参照してください。
  • RHOSP 上の OpenShift Container Platform で egress IP アドレス機能を使用する場合、Floating IP アドレスを予約ポートに割り当てて、egress トラフィックの予測可能な SNAT アドレスを持つことができます。Floating IP アドレスの関連付けは、OpenShift Container Platform クラスターをインストールしたユーザーにより作成される必要があります。そうでない場合、権限が不十分なために、egress IP アドレスの削除または移動が無期限にハングアップします。この問題が発生した場合、問題を解決するには、十分な権限を持つユーザーが Floating IP アドレスの関連付けを手動で設定解除する必要があります。(OCPBUGS-4902)
  • Prism Central 2022.x で 4096 ビットの証明書を使用すると、Nutanix のインストールに失敗するという既知の問題があります。代わりに、2048 ビットの証明書を使用します。(KCS)
  • 双方向転送検出 (BFD) プロファイルを削除し、ボーダーゲートウェイプロトコル (BGP) ピアリソースに追加された bfdProfile を削除しても、BFD は無効になりません。代わりに、BGP ピアはデフォルトの BFD プロファイルの使用を開始します。BGP ピアリソースから BFD をディセーブルにするには、BGP ピア設定を削除し、BFD プロファイルなしで再作成します。(BZ#2050824)
  • 未解決のメタデータ API の問題により、ベアメタルワーカーを使用するクラスターを RHOSP 16.1 にインストールすることはできません。RHOSP 16.2 上のクラスターは、この問題の影響を受けません。(BZ#2033953)
  • loadBalancerSourceRanges 属性は、RHOSP で実行され、OVN Octavia プロバイダーを使用するクラスター内のロードバランサータイプのサービスではサポートされていないため、無視されます。この問題に対する回避策はありません。(OCPBUGS-2789)
  • カタログソースの更新後、OLM がサブスクリプションステータスを更新するのに時間がかかります。これは、Topology Aware Lifecycle Manager (TALM) が修正が必要かどうかを判断したときに、サブスクリプションポリシーのステータスが準拠として表示され続ける可能性があることを意味します。その結果、サブスクリプションポリシーで指定された Operator はアップグレードされません。回避策として、次のように、カタログソースポリシーの spec セクションに status フィールドを含めます。

    metadata:
      name: redhat-operators-disconnected
    spec:
      displayName: disconnected-redhat-operators
      image: registry.example.com:5000/disconnected-redhat-operators/disconnected-redhat-operator-index:v4.11
    status:
      connectionState:
        lastObservedState: READY

    これにより、OLM が新しいインデックスイメージを取得して Pod を準備するまでの遅延が軽減され、カタログソースポリシーの修正が完了してからサブスクリプションステータスが更新されるまでの時間が短縮されます。問題が解決せず、サブスクリプションポリシーステータスの更新がまだ遅れている場合は、同じサブスクリプションポリシーで別の ClusterGroupUpdate CR を適用するか、別の名前で同じ ClusterGroupUpdate CR を適用できます。(OCPBUGS-2813)

  • ClusterGroupUpdate CR の開始時に、選択したすべてのクラスターが準拠している場合、TALM はポリシーの修正をスキップします。同じ ClusterGroupUpdate CR 内のカタログソースポリシーとサブスクリプションポリシーが変更された Operator の更新は完了しません。サブスクリプションポリシーは、カタログソースの変更が適用されるまで準拠の状態が続くためスキップされます。回避策として、次の例のように、common-subscription ポリシーの 1 つの CR に次の変更を追加します。

    metadata.annotations.upgrade: "1"

    これにより、ClusterGroupUpdate CR の開始前にポリシーが非準拠になります。(OCPBUGS-2812)

  • シングルノード OpenShift インスタンスでは、ノードをドレインして実行中のすべての Pod を削除せずに再起動すると、ワークロードコンテナーのリカバリーで問題が発生する可能性があります。再起動後、すべてのデバイスプラグインの準備が整う前にワークロードが再開され、その結果、リソースが利用できなくなったり、ワークロードが間違った NUMA ノードで実行されたりします。回避策としては、再起動リカバリーの手順中にすべてのデバイスプラグインが再登録された時点でワークロード Pod を再起動します。(OCPBUGS-2180)
  • 現在のデフォルト dataset_comparisonieee1588 です。推奨される dataset_comparison は G.8275.x です。これは、OpenShift Container Platform の今後のバージョンで修正される予定です。短期的には、推奨される dataset_comparison を含むように ptp 設定を手動で更新できます。(OCPBUGS-2336)
  • デフォルトの step_threshold は 0.0 です。推奨される step_threshold は 2.0 です。これは、OpenShift Container Platform の今後のバージョンで修正される予定です。短期的には、推奨される step_threshold を含むように ptp 設定を手動で更新できます。(OCPBUGS-3005)
  • ACM がデプロイされたマルチクラスター環境で metal3 サービスがハブクラスターでのみ実行されている場合、BMCEventSubscription CR はスポーククラスターの Redfish サブスクリプションを作成できません。回避策としては、たとえば次のコマンドを実行し、Redfish API を直接呼び出してサブスクリプションを作成します。

    curl -X POST -i --insecure -u "<BMC_username>:<BMC_password>" https://<BMC_IP>/redfish/v1/EventService/Subscriptions \
        -H 'Content-Type: application/json' \
        --data-raw '{
        "Protocol": "Redfish",
        "Context": "any string is valid",
        "Destination": "https://hw-event-proxy-openshift-bare-metal-events.apps.example.com/webhook",
        "EventTypes": ["Alert"]
        }'

    201 Created レスポンスと、Redfish イベントサブスクリプションが正常に作成されたことを示す Location: /redfish/v1/EventService/Subscriptions/<sub_id> を含むヘッダーを受け取るはずです。(OCPBUGSM-43707)

  • GitOps ZTP パイプラインを使用して、切断された環境に単一ノードの OpenShift クラスターをインストールする場合、クラスターに 2 つの CatalogSource CR が適用されている必要があります。ノードを複数回再起動すると、CatalogSource CR の 1 つが削除されます。回避策として、カタログソースのデフォルト名 (certified-operatorsredhat-operators など) を変更できます。(OCPBUGSM-46245)
  • クラスターのアップグレードを実行するために使用されるサブスクリプションポリシーで無効なサブスクリプションチャネルが指定されている場合、Topology Aware Lifecycle Manager は、ポリシーが適用された直後にアップグレードの成功を示します。これは、Subscription の状態が AtLatestKnown のままであるためです。(OCPBUGSM-43618)
  • クラスター内の複数のノードに適用すると、SiteConfig ディスクパーティションの定義が失敗します。SiteConfig CR を使用してコンパクトクラスターをプロビジョニングする場合は、複数のノードで有効な diskPartition 設定を作成すると、Kustomize プラグインエラーで失敗します。(OCPBUGSM-44403)
  • セキュアブートが現在無効になっていて、ZTP を使用して有効にしようとすると、クラスターのインストールが開始しません。ZTP を使用してセキュアブートを有効にすると、仮想 CD が接続される前にブートオプションが設定されます。したがって、既存のハードディスクからの最初の起動では、セキュアブートが有効になります。システムが CD から起動しないため、クラスターのインストールが停止します。(OCPBUGSM-45085)
  • イメージをディスクに書き込んだ後、仮想メディアが iDRAC コンソールで ISO を切断しない場合は、Red Hat Advanced Cluster Management (RHACM) を使用して、Dell PowerEdge R640 サーバーでのスポーククラスターの導入がブロックされます。回避策として、iDRAC コンソールの仮想メディアタブから ISO を手動で切断します。(OCPBUGSM-45884)
  • 高解像度タイマーに依存してスレッドをウェイクアップする低レイテンシーアプリケーションでは、想定よりも長いウェイクアップレイテンシーが発生する可能性があります。想定されるウェイクアップレイテンシーは 20us 未満ですが、cylictest ツールを長時間 (24 時間以上) 実行すると、これを超えるレイテンシーが発生することがあります。テストでは、サンプルの 99.999999% 超でウェイクアップレイテンシーが 20us 未満であることが確認されています。(RHELPLAN-138733)
  • Intel の Chapman Beach NIC を分岐 PCIe スロットに取り付けて、両方のポートが見えるようにする必要があります。RHEL 8.6 の現在の devlink ツールにも制限があり、分岐 PCIe スロットで 2 つのポートを設定できません。(RHELPLAN-142458)
  • ポートがダウンしたときに SR-IOV VF を無効にすると、Intel NIC で 3 - 4 秒の遅延が発生する可能性があります。(RHELPLAN-126931)
  • Intel NIC を使用している場合、SR-IOV VF に IPV6 アドレスが割り当てられると、IPV6 トラフィックが停止します。(RHELPLAN-137741)
  • VLAN ストリップオフロードを使用する場合、オフロードフラグ (ol_flag) が iavf ドライバーで一貫して正しく設定されません。(RHELPLAN-141240)
  • ice ドライバーで設定変更中に割り当てが失敗すると、デッドロックが発生する可能性があります。(RHELPLAN-130855)
  • Intel NIC を使用している場合、SR-IOV VF は間違った MAC アドレスで GARP パケットを送信します。(RHELPLAN-140971)
  • GitOps ZTP メソッドを使用してクラスターを管理し、インストールが完了していないクラスターを削除すると、ハブクラスター上のクラスター namespace のクリーンアップが無期限にハングアップすることがあります。namespace の削除を完了するには、クラスター namespace の 2 つの CR から、baremetalhost.metal3.io ファイナライザーを削除します。

    1. BareMetalHost CR .spec.bmc.credentialsName が指すシークレットからファイナライザーを削除します。
    2. BareMetalHost CR からファイナライザーを削除します。これらのファイナライザーが削除されると、 namespace の終了は数秒以内に完了します。(OCPBUGS-3029)
  • OCP 4.12 に追加された UDP GRO を有効にする新機能より、すべての veth デバイスも使用可能な CPU ごとに 1 つの RX キューを持つようになります (以前は、各 veth に 1 つのキューがありました)。これらのキューは OVN によって動的に設定され、レイテンシー調整とこのキューの作成は同期されません。レイテンシー調整ロジックは、veth NIC 作成イベントをモニタリングし、すべてのキューが適切に作成される前に、RPS キュー CPU マスクの設定を開始します。これは、一部の RPS キューマスクが設定されないことを意味します。すべての NIC キューが適切に設定されるわけではないため、タイミングに敏感な CPU を使用して他のコンテナー内のサービスと通信するリアルタイムアプリケーションでは、レイテンシースパイクが発生する可能性があります。カーネルネットワークスタックを使用しないアプリケーションは影響を受けません。(OCPBUGS-4194)
  • Platform Operator および RukPak の既知の問題:

    • プラットフォーム Operator を削除すると、基盤となるリソースが連鎖的に削除されます。このカスケード削除ロジックは、Operator Lifecycle Manager ベース (OLM) Operator のバンドル形式で定義されているリソースのみを削除できます。プラットフォーム Operator がそのバンドル形式の外で定義されたリソースを作成する場合、プラットフォーム Operator はこのクリーンアップインタラクションを処理する責任があります。この動作は、cert-manager Operator をプラットフォーム Operator としてインストールしてから削除した場合に確認できます。予想される動作は、cert-manager Operator が作成した namespace が取り残されることです。
    • プラットフォーム Operators マネージャーには、管理しているクラスタースコープの BundleDeployment リソースの現在の状態と望ましい状態を比較するロジックがありません。これにより、十分なロールベースのアクセス制御 (RBAC) を持つユーザーがその基礎となる BundleDeployment リソースを手動で変更する可能性が残り、ユーザーが自分のアクセス許可を cluster-admin ロールにエスカレートできる状況につながる可能性があります。デフォルトでは、このリソースへのアクセスを明示的にアクセスを必要とする少数のユーザーに制限する必要があります。このテクノロジープレビューリリース中に BundleDeployment リソースでサポートされる唯一のクライアントは、プラットフォーム Operators マネージャーコンポーネントです。
    • OLM の Marketplace コンポーネントは、無効にできるオプションのクラスター機能です。プラットフォーム Operator は現在、Marketplace コンポーネントによって管理されている redhat-operators カタログソースからのみ供給されているため、これはテクノロジープレビューリリース中に影響します。回避策として、クラスター管理者はこのカタログソースを手動で作成できます。
    • RukPak プロビジョナーの実装には、管理しているリソースの正常性や状態を検査する機能がありません。これは、生成された BundleDeployment リソースの状態を、それを所有する PlatformOperator リソースに提示することに影響します。レジストリー + v1 バンドルにクラスターに正常に適用できるマニフェストが含まれているが、存在しないイメージを参照する Deployment オブジェクトなど、実行時に失敗する場合、結果は成功のステータスであり、個々の PlatformOperator および BundleDeployment リソースに反映されます。
    • クラスターの作成前に PlatformOperator リソースを設定するクラスター管理者は、既存のクラスターを活用したり、文書化された例に頼ったりしないと、目的のパッケージ名を簡単に判断できません。現在、個別に設定された PlatformOperator リソースがクラスターに正常にロールアウトできることを保証する検証ロジックはありません。
  • oc-mirror CLI プラグインでテクノロジープレビュー OCI 機能を使用すると、イメージセット設定ファイルで指定されたものだけをフィルタリングするのではなく、ミラーリングされたカタログにすべての Operator バンドルが埋め込まれます。(OCPBUGS-5085)
  • 現在、エージェントベースの OpenShift Container Platform インストーラーを実行して、ISO イメージの生成に以前のリリースが使用されているディレクトリーから ISO イメージを生成すると既知の問題が発生することがあります。リリースバージョンが一致しないというエラーメッセージが表示されます。回避策としては、新しいディレクトリーを作成して使用します。(OCPBUGS#5159)
  • install-config.yaml ファイルで定義されたケイパビリティーは、エージェントベースの OpenShift Container Platform インストールでは適用されません。現在、回避策はありません。(OCPBUGS#5129)
  • OVN ドライバーで作成された RHOSP 上の完全実装のロードバランサーには、作成保留ステータスでスタックしているプールが含まれている可能性があります。この問題により、RHOSP 上にデプロイされたクラスターで問題が発生する可能性があります。この問題を解決するには、RHOSP パッケージを更新します。(BZ#2042976)
  • RHOSP でロードバランサーメンバーを一括更新すると、PUT リクエストへのレスポンスとして 500 コードが返される場合があります。この問題により、RHOSP 上にデプロイされたクラスターで問題が発生する可能性があります。この問題を解決するには、RHOSP パッケージを更新します。(BZ#2100135)
  • 外部クラウドプロバイダーを使用するクラスターは、ローテーション後に更新された認証情報の取得に失敗する可能性があります。その場合、次のプラットフォームが影響を受けます。

    • Alibaba Cloud
    • IBM Cloud VPC
    • IBM Power
    • OpenShift Virtualization
    • RHOSP

    回避策として、次のコマンドを実行して openshift-cloud-controller-manager Pod を再起動します。

    $ oc delete pods --all -n openshift-cloud-controller-manager

    (OCPBUGS-5036)

  • cloud-provider-openstack が API を使用して OVN ロードバランサー上にヘルスモニターを作成し、完全実装のロードバランサーを作成しようとすると、既知の問題が発生します。これらのヘルスモニターは、PENDING_CREATE ステータスでスタックします。削除後、関連するロードバランサーは PENDING_UPDATE ステータスでスタックします。回避策はありません。(BZ#2143732)
  • 既知の問題があるため、RHOSP 上で実行されるクラスターでステートフル IPv6 ネットワークを使用するには、ワーカーノード のカーネル引数に ip=dhcp,dhcpv6 を含める必要があります。(OCPBUGS-2104)
  • 仮想機能 (VF) がすでに存在する場合、Physical Fundtion (PF) で macvlan を作成することはできません。この問題は、Intel E810 NIC に影響します。(BZ#2120585)
  • 現在、IPv4 OpenShift Container Platform クラスターで IPv6 アドレスとルートを手動で設定すると、既知の問題が発生します。デュアルスタッククラスターに変換すると、新しく作成された Pod は ContainerCreating ステータスのままになります。現在、回避策はありません。この問題は、今後の OpenShift Container Platform リリースで対処される予定です。(OCPBUGS-4411)
  • IBM Public Cloud にインストールされた OVN クラスターに 60 を超えるワーカーノードがある場合、2000 以上のサービスとルートオブジェクトを同時に作成すると、同時に作成された Pod が ContainerCreating ステータスのままになる可能性があります。この問題が発生した場合、oc describe pod <podname> コマンドを入力すると、FailedCreatePodSandBox…​failed to configure pod interface: timed out waiting for OVS port binding (ovn-installed) の警告とともにイベントが表示されます。現在、この問題に対する回避策はありません。(OCPBUGS-3470)
  • OVN-Kubernetes ネットワークプロバイダーを使用するクラスターでコントロールプレーンマシンを交換すると、交換したマシンで OVN-Kubernetes に関連する Pod が起動しない場合があります。この状態が発生すると、新しいマシンにネットワーク接続がないため、etcd が古いマシンを置き換えることができなくなります。その結果、クラスターはその状態で停止し、パフォーマンスが低下する可能性があります。この動作は、手動またはコントロールプレーンマシンセットによってコントロールプレーンが置き換えられた場合に発生する可能性があります。

    現在、この問題が発生した場合の解決策はありません。この問題を回避するため、クラスターが OVN-Kubernetes ネットワークプロバイダーを使用している場合は コントロールプレーンマシンセットを無効化 し、コントロールプレーンマシンを手動で置き換えないいようにしてください。(OCPBUGS-5306)

  • ZTP 経由でデプロイされたクラスターに準拠していないポリシーがあり、ClusterGroupUpdates オブジェクトが存在しない場合は、TALM Pod を再起動する必要があります。TALM を再起動すると、適切な ClusterGroupUpdates オブジェクトが作成され、ポリシーへの準拠が強制されます。(OCPBUGS-4065)
  • 現在、VMware vSphere に OpenShift Container Platform クラスターをインストールする目的でインストールプログラムを macOS で実行する場合、x509: certificate is not standards compliant として出力される証明書コンプライアンスの問題が存在します。この問題は、コンパイラーが新しくサポートされた macOS 証明書規格を認識しないという golang コンパイラーの既知の問題に関連しています。この問題に対する回避策はありません。(OSDOCS-5694)
  • 現在、非常に多くのファイルを含む永続ボリューム (PV) を使用すると、Pod が起動しないか、起動に過度に時間がかかる場合があります。詳細は、ナレッジベースアーティクル を参照してください。(BZ1987112)
  • コントロールプレーンノードにスケジュールされている Azure File NFS ボリュームを含む Pod を作成すると、マウントが拒否されます。(OCPBUGS-18581)

    この問題を回避するには、コントロールプレーンノードがスケジュール可能で、Pod がワーカーノードで実行できる場合は、nodeSelector または Affinity を使用してワーカーノードで Pod をスケジュールします。

  • 静的 IP アドレス指定と Tang 暗号化を使用して OpenShift Container Platform クラスターをインストールする場合、ノードはネットワーク設定なしで起動します。この状況により、ノードは Tang サーバーにアクセスできなくなり、インストールが失敗します。この状況に対処するには、各ノードのネットワーク設定を ip インストーラー引数として設定する必要があります。

    1. インストーラーでプロビジョニングされるインフラストラクチャーの場合、インストール前に次の手順を実行して、各ノードの IP インストーラー引数としてネットワーク設定を指定します。

      1. マニフェストを作成します。
      2. 各ノードについて、アノテーションを使用して BareMetalHost カスタムリソースを変更し、ネットワーク設定を含めます。以下に例を示します。

        $ cd ~/clusterconfigs/openshift
        $ vim openshift-worker-0.yaml
        apiVersion: metal3.io/v1alpha1
        kind: BareMetalHost
        metadata:
          annotations:
            bmac.agent-install.openshift.io/installer-args: '["--append-karg", "ip=<static_ip>::<gateway>:<netmask>:<hostname_1>:<interface>:none", "--save-partindex", "1", "-n"]' 1 2 3 4 5
            inspect.metal3.io: disabled
            bmac.agent-install.openshift.io/hostname: <fqdn> 6
            bmac.agent-install.openshift.io/role: <role> 7
          generation: 1
          name: openshift-worker-0
          namespace: mynamespace
        spec:
          automatedCleaningMode: disabled
          bmc:
            address: idrac-virtualmedia://<bmc_ip>/redfish/v1/Systems/System.Embedded.1 8
            credentialsName: bmc-secret-openshift-worker-0
            disableCertificateVerification: true
          bootMACAddress: 94:6D:AE:AB:EE:E8
          bootMode: "UEFI"
          rootDeviceHints:
            deviceName: /dev/sda

        ip 設定については、次のように置き換えます。

        1
        <static_ip> は、ノードの静的 IP アドレスに置き換えます (例: 192.168.1.100)
        2
        <gateway> は、ネットワークのゲートウェイの IP アドレスに置き換えます (例: 192.168.1.1)
        3
        <netmask> は、ネットワークマスクに置き換えます (例: 255.255.255.0)
        4
        <hostname_1> は、ノードのホスト名に置き換えます (例: node1.example.com)
        5
        <interface> は、ネットワークインターフェイスの名前に置き換えます (例: eth0)
        6
        <fqdn> は、ノードの完全修飾ドメイン名に置き換えます。
        7
        <role> は、ノードのロールを反映する worker または master に置き換えます。
        8
        <bmc_ip> は、必要に応じて BMC IP アドレス、BMC のプロトコルとパスに置き換えます。
      3. ファイルを clusterconfigs/openshift ディレクトリーに保存します。
      4. クラスターを作成します。
    2. Assisted Installer を使用してインストールする場合は、インストール前に API を使用して各ノードのインストーラー引数を変更し、ネットワーク設定を IP インストーラー引数として追加します。以下に例を示します。

      $ curl https://api.openshift.com/api/assisted-install/v2/infra-envs/${infra_env_id}/hosts/${host_id}/installer-args \
      -X PATCH \
      -H "Authorization: Bearer ${API_TOKEN}" \
      -H "Content-Type: application/json" \
      -d '
          {
            "args": [
              "--append-karg",
              "ip=<static_ip>::<gateway>:<netmask>:<hostname_1>:<interface>:none", 1 2 3 4 5
              "--save-partindex",
              "1",
              "-n"
            ]
          }
        ' | jq

      以前のネットワーク設定の場合は、次のように置き換えます。

      1
      <static_ip> は、ノードの静的 IP アドレスに置き換えます (例: 192.168.1.100)
      2
      <gateway> は、ネットワークのゲートウェイの IP アドレスに置き換えます (例: 192.168.1.1)
      3
      <netmask> は、ネットワークマスクに置き換えます (例: 255.255.255.0)
      4
      <hostname_1> は、ノードのホスト名に置き換えます (例: node1.example.com)
      5
      <interface> は、ネットワークインターフェイスの名前に置き換えます (例: eth0)

詳細とサポートについては、Red Hat Support チームにお問い合わせください。

(OCPBUGS-23119)