This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.5.4. OpenShift Container Platform クラスターノードの sosreport アーカイブの生成
OpenShift Container Platform 4.6 クラスターノードの sosreport を生成する方法として、デバッグ Pod を使用することが推奨されます。
前提条件
-
cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。 - ホストへの SSH アクセスがあること。
-
OpenShift CLI (
oc) がインストールされている。 - Red Hat の標準またはプレミアムサブスクリプションがある。
- Red Hat カスタマーポータルのアカウントがある。
- 既存の Red Hat サポートケース ID がある。
手順
クラスターノードの一覧を取得します。
oc get nodes
$ oc get nodesCopy to Clipboard Copied! Toggle word wrap Toggle overflow ターゲットノードのデバッグセッションに入ります。この手順は、
<node_name>-debugというデバッグ Pod をインスタンス化します。oc debug node/my-cluster-node
$ oc debug node/my-cluster-nodeCopy to Clipboard Copied! Toggle word wrap Toggle overflow NoExecuteエフェクトで taint が付けられたターゲットノードで、デバッグセッションに入るには、ダミー namespace に toleration を追加して、そのダミー namespace でデバッグ Pod を起動します。oc new-project dummy
$ oc new-project dummyCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch namespace dummy --type=merge -p '{"metadata": {"annotations": { "scheduler.alpha.kubernetes.io/defaultTolerations": "[{\"operator\": \"Exists\"}]"}}}'$ oc patch namespace dummy --type=merge -p '{"metadata": {"annotations": { "scheduler.alpha.kubernetes.io/defaultTolerations": "[{\"operator\": \"Exists\"}]"}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc debug node/my-cluster-node
$ oc debug node/my-cluster-nodeCopy to Clipboard Copied! Toggle word wrap Toggle overflow /hostをデバッグシェル内の root ディレクトリーとして設定します。デバッグ Pod は、Pod 内の/hostにホストの root ファイルシステムをマウントします。root ディレクトリーを/hostに変更すると、ホストの実行パスに含まれるバイナリーを実行できます。chroot /host
# chroot /hostCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Red Hat Enterprise Linux CoreOS (RHCOS) を実行する OpenShift Container Platform 4.6 クラスターノードは変更できず、Operator を使用してクラスターの変更を適用します。SSH を使用したクラスターノードへのアクセスは推奨されず、ノードは accessed のテイントのマークが付けられます。ただし、OpenShift Container Platform API が利用できない場合や、kubelet がターゲットノードで適切に機能しない場合、
oc操作がその影響を受けます。この場合は、代わりにssh core@<node>.<cluster_name>.<base_domain>を使用してノードにアクセスできます。sosreportを実行するために必要なバイナリーおよびプラグインが含まれるtoolboxコンテナーを起動します。toolbox
# toolboxCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記既存の
toolboxPod がすでに実行されている場合、toolboxコマンドは以下を出力します:'toolbox-' already exists.Trying to start….podman rm toolbox-で実行中の toolbox コンテナーを削除して、sosreportプラグインの問題を回避するために、新規の toolbox コンテナーを生成します。sosreportアーカイブを収集します。sosreportコマンドを実行して、crio.allおよびcrio.logsCRI-O コンテナーエンジンsosreportプラグインを有効にします。sosreport -k crio.all=on -k crio.logs=on
# sosreport -k crio.all=on -k crio.logs=on1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
-Kにより、デフォルト以外のsosreportプラグインパラメーターを定義できます。
- プロンプトが表示されたら Enter を押して続行します。
-
Red Hat サポートケース ID を指定します。
sosreportは ID をアーカイブのファイル名に 追加します。 sosreport出力は、アーカイブの場所とチェックサムを提供します。以下の出力参照例は、ケース ID01234567を参照します。Your sosreport has been generated and saved in: /host/var/tmp/sosreport-my-cluster-node-01234567-2020-05-28-eyjknxt.tar.xz The checksum is: 382ffc167510fd71b4f12a4f40b97a4e
Your sosreport has been generated and saved in: /host/var/tmp/sosreport-my-cluster-node-01234567-2020-05-28-eyjknxt.tar.xz1 The checksum is: 382ffc167510fd71b4f12a4f40b97a4eCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- toolbox コンテナーはホストの root ディレクトリーを
/hostにマウントするため、sosreportアーカイブのファイルパスはchroot環境外にあります。
以下の方法のいずれかを使用して、解析のために
sosreportアーカイブを Red Hat サポートに提供します。ファイルを OpenShift Container Platform クラスターから直接既存の Red Hat サポートケースにアップロードします。
toolbox コンテナー内から、
redhat-support-toolを実行してアーカイブを既存の Red Hat サポートケースに直接割り当てます。この例では、サポートケース ID01234567を使用します。redhat-support-tool addattachment -c 01234567 /host/var/tmp/my-sosreport.tar.xz
# redhat-support-tool addattachment -c 01234567 /host/var/tmp/my-sosreport.tar.xz1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- toolbox コンテナーは、ホストの root ディレクトリーを
/hostにマウントします。redhat-support-toolコマンドでアップロードするファイルを指定する場合は、toolbox コンテナーの root ディレクトリー (/host/を含む) から絶対パスを参照します。
既存の Red Hat サポートケースにファイルをアップロードします。
oc debug node/<node_name>コマンドを実行してsosreportアーカイブを連結し、出力をファイルにリダイレクトします。このコマンドは、直前のoc debugセッションを終了していることを前提としています。oc debug node/my-cluster-node -- bash -c 'cat /host/var/tmp/sosreport-my-cluster-node-01234567-2020-05-28-eyjknxt.tar.xz' > /tmp/sosreport-my-cluster-node-01234567-2020-05-28-eyjknxt.tar.xz
$ oc debug node/my-cluster-node -- bash -c 'cat /host/var/tmp/sosreport-my-cluster-node-01234567-2020-05-28-eyjknxt.tar.xz' > /tmp/sosreport-my-cluster-node-01234567-2020-05-28-eyjknxt.tar.xz1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- デバッグコンテナーは、ホストの root ディレクトリーを
/hostにマウントします。連結のためにターゲットファイルを指定する際に、デバッグコンテナーの root ディレクトリー (/hostを含む) から絶対パスを参照します。
注記Red Hat Enterprise Linux CoreOS (RHCOS) を実行する OpenShift Container Platform 4.6 クラスターノードは変更できず、Operator を使用してクラスターの変更を適用します。
scpを使用してクラスターノードからsosreportアーカイブを転送することは推奨されず、ノードには accessed のテイントのマークが付けられます。ただし、OpenShift Container Platform API が利用できない場合や、kubelet がターゲットノードで適切に機能しない場合、oc操作がその影響を受けます。この状態では、scp core@<node>.<cluster_name>.<base_domain>:<file_path> <local_path>を実行して、ノードからsosreportアーカイブをコピーすることができます。- https://access.redhat.com/support/cases/ 内の既存のサポートケースに移動します。
- Attach files を選択し、プロンプトに従ってファイルをアップロードします。