OCIでのOpenShift Container Platformのトラブルシューティング

この項を使用して、OCIにOpenShiftクラスタをデプロイする際の一般的な問題を特定し、解決します。

インフラストラクチャのプロビジョニングは許可されていません

条件: Assisted Installerを使用してインフラストラクチャ・リソースを作成するとき、またはエージェント・ベースのインストーラを使用してリソースを手動で作成するときに、リソース・マネージャ・サービスで「未認可」エラーが発生します。

原因: 必要なIAMポリシーまたは権限がありません。

処置:

  1. Assisted Installerの場合、リソース・マネージャの保護およびリソース・マネージャの詳細で説明されているポリシーがあることを確認してください。
  2. エージェントベース・インストーラの場合、「手動インストール用のエージェントベース・インストーラのOCIリソース」のトピックにリストされているリソースを作成および管理する権限があることを確認してください。
  3. 両方のインストール方法については、「リソースへのアクセスの管理」を参照してください。
  4. IAM権限を管理していない場合は、テナンシ管理者に連絡してください。
クラスタ・ノード・アクセスのSSH障害

条件: クラスタ・ノードとのSSH接続を確立できません。

原因:
  • 「SSH接続のトラブルシューティング」で説明するいくつかの問題により、ノードへのSSH接続を防止できます。
  • 応答しないノードは、呼び出し中に問題が発生したために発生することもあります。
処置: 問題を診断および解決するための詳細なステップについては、「SSH接続のトラブルシューティング」トピックを参照するか、インスタンスのコンソール履歴を取得して潜在的な原因を確認することもできます。
OpenShiftコンソールでノードを追加する際の「不十分な」エラー

条件: OpenShiftコンソールでノードを追加すると、Red Hat Hybrid Cloudコンソールに「Insufficient」というエラー・メッセージが表示されます。

原因: ノードの作成中に生成されたドメイン名が無効な場合、次の図に示すように、Red Hat Hybrid Cloudコンソールに「Insufficient」エラー・メッセージが表示されます。


Red HatコンソールのOpenShiftクラスタの詳細ページのイメージです。

ノート

OpenShift Hybrid Cloudコンソールでクラスタにホストを追加しているときに、この項で説明しているエラーが発生する可能性があります(詳細は、Red Hat Hybrid Cloudコンソールでのクラスタへのホストの追加を参照)。

処置:

このエラーを解決するには、次の手順を実行します。

  1. set the IP or domain used to reach the clusterという名前のリンクを選択します。次に、apiからドメイン名の接頭辞をapi-intに更新します。たとえば、表示される文字列がapi.addnode1234multiad.my.company.comの場合、文字列の接頭辞セクションをapi-int.addnode1234multiad.my.company.comのように編集します。
  2. 文字列を更新すると、「更新」ボタンが有効になります。「更新」ボタンを選択して続行します。ノードのステータスが readyに変わります。
    「クラスタ・ホスト名の更新」ダイアログのイメージです。


    文字列の編集後の「クラスタ・ホスト名の更新」ダイアログのイメージです。

タグがないためクラスタのインストールに失敗する

条件: クラスタのインストールに失敗するか、create-clusterスタックの実行後に予期せず動作します。

原因: create-clusterスタックを実行する前に、必要なタグ・スタック(create-resource-attribution-tags)が実行されませんでした。

処置: OCIにクラスタをインストールする前に、GitHubのOCIリリース上のOpenShiftページからcreate-resource-attribution-tagsスタックをダウンロードして実行します。このスタックは、後続のすべてのスタックが正しく機能するために不可欠なタグ・ネームスペースおよび関連する定義済タグ(openshift-tags およびopenshift-resource)を作成します。create-resource-attribution-tagsスタックは1回のみ実行する必要があります。タグ・ネームスペースおよび定義済タグがすでに作成されている場合は、クラスタのインストールを直接続行できます。
タグ付けコントローラで、必要なOCIタグを適用またはリストアできない

条件: 必要なOCIインスタンス・タグがテナンシになく、CCMログに、定義済のタグ・ネームスペースまたは定義済のタグ・キーがインスタンスの更新中に見つからなかったことを示す404エラーが表示されます。

原因: タグ付けコントローラがバックグラウンドで実行され、必要なOpenShiftリソース属性タグが適用され、それらのタグが欠落しているかアクセスできない場合、クラスタはインストールを完了できません。

処置:タグ付けコントローラを再度実行する前に、OCIテナンシに定義されていないタグ・ネームスペースおよび定義済のタグ・キーを作成します。少なくとも、OpenShiftタグ付けに必要なネームスペースとキーが存在することを確認してください。また、CCMタグ構成に必要な追加のネームスペースおよびキーを作成し、CCMにそれらのタグ・ネームスペースを使用する権限があることを確認します。その後、リコンシリエーションを再度実行し、インスタンスにタグが表示されることを確認します。

この場合、次の2つの個別のポリシーが必要です。

  • 不足している定義済タグを作成するチームまたは管理者のポリシー: ネームスペースおよびキーが存在しない場合、だれかがテナンシでタグ・ネームスペースを作成および管理できる必要があります。OCIタグ・ネームスペースはテナンシ・レベルのオブジェクトであり、OCIではインスタンス更新時にオンデマンドで作成されません。管理側のポリシーは次のとおりです。
    Allow group <tag-admin-group> to manage tag-namespaces in tenancy
  • これらのタグをインスタンスに適用するCCMプリンシパルのポリシーリソースに定義されたタグを適用、更新または削除するには、OCIではタグ・ネームスペースに対する使用アクセス権が必要です。CCM動的グループまたはインスタンス・プリンシパルの場合、キー文は次のとおりです。
    Allow dynamic-group <ccm-dynamic-group> to use tag-namespaces in tenancy
    OCIでは、CCMで使用されるネームスペースのみへのアクセスをスコープ指定するために、where句を使用したポリシーの制限をサポートしています。コントローラはコンピュート・インスタンスを更新するため、CCMプリンシパルにはターゲット・コンパートメント内のインスタンスを管理する権限も必要です。ポリシーは次のように定義されます。
    Allow dynamic-group <ccm-dynamic-group> to manage instance-family in compartment <cluster-compartment>
    推奨最小セット:
    Allow group <tag-admin-group> to manage tag-namespaces in tenancy
    
    Allow dynamic-group <ccm-dynamic-group> to use tag-namespaces in tenancy
    
    Allow dynamic-group <ccm-dynamic-group> to manage instance-family in compartment <cluster-compartment>
iSCSIイメージスクリプトがqemu-nbdが欠落していると報告する

条件: iSCSIイメージ準備スクリプトによって、qemu-nbdが欠落していると報告されます。

処置:

RHCOSイメージの準備に使用したLinuxホストで、次のコマンドを実行します。
sudo dnf install -y qemu-img ostree util-linux
command -v qemu-nbd

qemu-nbdが引き続き使用できない場合は、sudo dnf provides '*/qemu-nbd'を実行して、有効なリポジトリによって返されたパッケージをインストールします。

BYON検証またはリソース検出に失敗する

条件: 既存のネットワーク検証またはTerraformリソース検出が失敗します。

処置:

既存のVCNに、独自のネットワーク要件に必要なゲートウェイ、ルート表、セキュリティ・リスト、NSGおよびサブネットが含まれていることを確認します。一部のリソースは名前パターンで検出されます。Terraformは、必要なリソースおよびルールが存在することを検証しますが、空でないルール・リストでは、すべてのルート・ターゲットまたはポートが正しいことを証明しません。
クラスタ後の自動スケーラでAPIロード・バランサが見つかりません

条件: autoscalerスタックでAPIロード・バランサが見つかりません。

処置:

Terraformスタックは、名前が.*lb.*と一致するNSGと、<cluster_name>-openshift_api_lbという名前のAPIロード・バランサを検索します。サード・パーティのAPIロード・バランサのOCIDを受け入れません。