検索

24.2. インストールの問題のトラブルシューティング

download PDF

失敗した OpenShift Container Platform インストールのトラブルシューティングを支援するために、ブートストラップおよびコントロールプレーンマシンからログを収集できます。インストールプログラムからデバッグ情報を取得することもできます。ログとデバッグ情報を使用しても問題を解決できない場合は、インストールの問題が発生した場所の特定 を参照して、コンポーネント固有のトラブルシューティングを確認してください。

注記

OpenShift Container Platform のインストールが失敗し、デバッグ出力またはログにネットワークタイムアウトまたはその他の接続エラーが含まれる場合は、ファイアウォールの設定 に関するガイドラインを確認してください。ファイアウォールとロードバランサーからログを収集すると、ネットワーク関連のエラーを診断するのに役立ちます。

24.2.1. 前提条件

  • OpenShift Container Platform クラスターのインストールを試みたが、インストールに失敗している。

24.2.2. 失敗したインストールのログの収集

SSH キーをインストールプログラムに指定している場合、失敗したインストールに関するデータを収集することができます。

注記

実行中のクラスターからログを収集する場合とは異なるコマンドを使用して失敗したインストールに関するログを収集します。実行中のクラスターからログを収集する必要がある場合は、oc adm must-gather コマンドを使用します。

前提条件

  • OpenShift Container Platform のインストールがブートストラッププロセスの終了前に失敗している。ブートストラップノードは実行中であり、SSH でアクセスできる。
  • ssh-agent プロセスはコンピューター上でアクティブであり、ssh-agent プロセスとインストールプログラムの両方に同じ SSH キーを提供している。
  • 独自にプロビジョニングしたインフラストラクチャーにクラスターのインストールを試行した場合には、ブートストラップおよびコントロールプレーンノードの完全修飾ドメイン名がある。

手順

  1. ブートストラップおよびコントロールプレーンマシンからインストールログを収集するために必要なコマンドを生成します。

    • installer-provisioned infrastructure を使用する場合は、インストールプログラムが含まれるディレクトリーに切り替え、以下のコマンドを実行します。

      $ ./openshift-install gather bootstrap --dir <installation_directory> 1
      1
      installation_directory は、./openshift-install create cluster を実行した際に指定したディレクトリーです。このディレクトリーには、インストールプログラムが作成する OpenShift Container Platform 定義ファイルが含まれます。

      installer-provisioned infrastructure の場合、インストールプログラムは、ホスト名または IP アドレスを指定しなくてもよいようにクラスターに関する情報を保存します。

    • 各自でプロビジョニングしたインフラストラクチャーを使用した場合は、インストールプログラムが含まれるディレクトリーに切り替え、以下のコマンドを実行します。

      $ ./openshift-install gather bootstrap --dir <installation_directory> \ 1
          --bootstrap <bootstrap_address> \ 2
          --master <master_1_address> \ 3
          --master <master_2_address> \ 4
          --master <master_3_address>" 5
      1
      installation_directory には、./openshift-install create cluster を実行した際に指定したのと同じディレクトリーを指定します。このディレクトリーには、インストールプログラムが作成する OpenShift Container Platform 定義ファイルが含まれます。
      2
      <bootstrap_address> は、クラスターのブートストラップマシンの完全修飾ドメイン名または IP アドレスです。
      3 4 5
      クラスター内のそれぞれのコントロールプレーン (またはマスター) マシンについては、<master_*_address> をその完全修飾ドメイン名または IP アドレスに置き換えます。
      注記

      デフォルトクラスターには 3 つのコントロールプレーンマシンが含まれます。クラスターが使用する数にかかわらず、表示されるようにすべてのコントロールプレーンマシンをリスト表示します。

    出力例

    INFO Pulling debug logs from the bootstrap machine
    INFO Bootstrap gather logs captured here "<installation_directory>/log-bundle-<timestamp>.tar.gz"

    インストールの失敗に関する Red Hat サポートケースを作成する場合は、圧縮したログをケースに含めるようにしてください。

24.2.3. ホストへの SSH アクセスによるログの手動収集

must-gather または自動化された収集方法が機能しない場合にログを手動で収集します。

重要

デフォルトでは、OpenShift Container Platform ノードへの SSH アクセスは、Red Hat OpenStack Platform (RHOSP) ベースのインストールでは無効になっています。

前提条件

  • ホストへの SSH アクセスがあること。

手順

  1. 以下を実行し、journalctl コマンドを使用してブートストラップホストから bootkube.service サービスログを収集します。

    $ journalctl -b -f -u bootkube.service
  2. podman ログを使用して、ブートストラップホストのコンテナーログを収集します。これは、ホストからすべてのコンテナーログを取得するためにループで表示されます。

    $ for pod in $(sudo podman ps -a -q); do sudo podman logs $pod; done
  3. または、以下を実行し、tail コマンドを使用してホストのコンテナーログを収集します。

    # tail -f /var/lib/containers/storage/overlay-containers/*/userdata/ctr.log
  4. 以下を実行し、journalctl コマンドを使用して kubelet.service および crio.service サービスログをマスターホストおよびワーカーホストから収集します。

    $ journalctl -b -f -u kubelet.service -u crio.service
  5. 以下を実行し、tail コマンドを使用してマスターホストおよびワーカーホストのコンテナーログを収集します。

    $ sudo tail -f /var/log/containers/*

24.2.4. ホストへの SSH アクセスを使用しないログの手動収集

must-gather または自動化された収集方法が機能しない場合にログを手動で収集します。

ノードへの SSH アクセスがない場合は、システムジャーナルにアクセスし、ホストで生じていることを調査できます。

前提条件

  • OpenShift Container Platform のインストールが完了している。
  • API サービスが機能している。
  • システム管理者権限がある。

手順

  1. 以下を実行し、/var/log の下にある journald ユニットログにアクセスします。

    $ oc adm node-logs --role=master -u kubelet
  2. 以下を実行し、/var/log の下にあるホストファイルのパスにアクセスします。

    $ oc adm node-logs --role=master --path=openshift-apiserver

24.2.5. インストールプログラムからのデバッグ情報の取得

以下のアクションのいずれかを使用して、インストールプログラムからデバッグ情報を取得できます。

  • 非表示の .openshift_install.log ファイルで過去のインストールからのデバッグ情報を確認します。たとえば、以下を入力します。

    $ cat ~/<installation_directory>/.openshift_install.log 1
    1
    installation_directory には、./openshift-install create cluster を実行した際に指定したのと同じディレクトリーを指定します。
  • インストールプログラムが含まれるディレクトリーに切り替え、--log-level=debug でこれを再実行します。

    $ ./openshift-install create cluster --dir <installation_directory> --log-level debug 1
    1
    installation_directory には、./openshift-install create cluster を実行した際に指定したのと同じディレクトリーを指定します。

24.2.6. OpenShift Container Platform クラスターの再インストール

OpenShift Container Platform のインストールに失敗して問題をデバッグおよび解決できない場合は、新しい OpenShift Container Platform クラスターのインストールを検討してください。完全に消去してから、インストールプロセスを開始しなおしてください。user-provisioned infrastructure (UPI) をインストールする場合は、クラスターを手動で破棄し、関連するすべてのリソースを削除する必要があります。次の手順は、installer-provisioned infrastructure (IPI) のインストール用です。

手順

  1. クラスターを破棄し、インストールディレクトリー内の非表示のインストーラー状態ファイルなども含めて、クラスターに関連付けられているすべてのリソースを削除します。

    $ ./openshift-install destroy cluster --dir <installation_directory> 1
    1
    installation_directory は、./openshift-install create cluster を実行した際に指定したディレクトリーです。このディレクトリーには、インストールプログラムが作成する OpenShift Container Platform 定義ファイルが含まれます。
  2. クラスターを再インストールする前に、インストールディレクトリーを削除してください。

    $ rm -rf <installation_directory>
  3. OpenShift Container Platform クラスターの新規インストール手順に従います。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.