5.11. Red Hat サポートへの診断データの提供

OpenShift Container Platform の問題を調査する際に、Red Hat サポートは診断データをサポートケースにアップロードするよう依頼する可能性があります。ファイルは、Red Hat カスタマーポータルからサポートケースにアップロードするか、redhat-support-tool コマンドを使用して OpenShift Container Platform クラスターから直接アップロードできます。

前提条件

  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。
  • ホストへの SSH アクセスがあること。
  • OpenShift CLI (oc) がインストールされている。
  • Red Hat の標準またはプレミアムサブスクリプションがある。
  • Red Hat カスタマーポータルのアカウントがある。
  • 既存の Red Hat サポートケース ID がある。

手順

  • Red Hat カスタマーポータルから既存の Red Hat サポートケースに診断データをアップロードします。

    1. oc debug node/<node_name> コマンドを使用して OpenShift Container Platform ノードで組み込まれている診断ファイルを連結し、出力をファイルにリダイレクトします。以下の例では、/host/var/tmp/my-diagnostic-data.tar.gz をデバッグコンテナーから /var/tmp/my-diagnostic-data.tar.gz にコピーします。

      $ oc debug node/my-cluster-node -- bash -c 'cat /host/var/tmp/my-diagnostic-data.tar.gz' > /var/tmp/my-diagnostic-data.tar.gz 1
      1
      デバッグコンテナーは、ホストの root ディレクトリーを /host にマウントします。連結のためにターゲットファイルを指定する際に、デバッグコンテナーの root ディレクトリー (/host を含む) から絶対パスを参照します。
      注記

      Red Hat Enterprise Linux CoreOS (RHCOS) を実行する OpenShift Container Platform 4.10 クラスターノードは変更できず、Operator を使用してクラスターの変更を適用します。scp を使用してクラスターノードからファイルを転送することは推奨されません。ただし、OpenShift Container Platform API が利用できない場合や、kubelet がターゲットノードで適切に機能しない場合、oc 操作がその影響を受けます。この状態では、scp core@<node>.<cluster_name>.<base_domain>:<file_path> <local_path> を実行してノードから診断ファイルをコピーすることができます。

    2. https://access.redhat.com/support/cases/ 内の既存のサポートケースに移動します。
    3. Attach files を選択し、プロンプトに従ってファイルをアップロードします。
  • OpenShift Container Platform クラスターから直接診断データを既存の Red Hat サポートケースにアップロードします。

    1. クラスターノードのリストを取得します。

      $ oc get nodes
    2. ターゲットノードのデバッグセッションに入ります。この手順は、<node_name>-debug というデバッグ Pod をインスタンス化します。

      $ oc debug node/my-cluster-node
    3. /host をデバッグシェル内の root ディレクトリーとして設定します。デバッグ Pod は、Pod 内の /host にホストの root ファイルシステムをマウントします。root ディレクトリーを /host に変更すると、ホストの実行パスに含まれるバイナリーを実行できます。

      # chroot /host
      注記

      Red Hat Enterprise Linux CoreOS (RHCOS) を実行する OpenShift Container Platform 4.10 クラスターノードは変更できず、Operator を使用してクラスターの変更を適用します。SSH を使用したクラスターノードへのアクセスは推奨されません。ただし、OpenShift Container Platform API が利用できない場合や、kubelet がターゲットノードで適切に機能しない場合、oc 操作がその影響を受けます。この場合は、代わりに ssh core@<node>.<cluster_name>.<base_domain> を使用してノードにアクセスできます。

    4. redhat-support-tool を実行するために必要なバイナリーを含む toolbox コンテナーを起動します。

      # toolbox
      注記

      既存の toolbox Pod がすでに実行されている場合、toolbox コマンドは以下を出力します: 'toolbox-' already exists.Trying to start…​.問題が発生するのを回避するには、podman rm toolbox- で実行中の toolbox コンテナーを削除し、新規の toolbox コンテナーを生成します。

      1. redhat-support-tool を実行して、直接デバッグ Pod から既存の Red Hat サポートケースにファイルを添付します。この例では、サポートケース ID '01234567' とサンプルのファイルパス /host/var/tmp/my-diagnostic-data.tar.gz を使用します。

        # redhat-support-tool addattachment -c 01234567 /host/var/tmp/my-diagnostic-data.tar.gz 1
        1
        toolbox コンテナーは、ホストの root ディレクトリーを /host にマウントします。redhat-support-tool コマンドでアップロードするファイルを指定する場合は、toolbox コンテナーの root ディレクトリー (/host/ を含む) から絶対パスを参照します。