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.9 クラスターノードの sosreport
を生成する方法として、デバッグ Pod を使用することが推奨されます。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 - ホストへの SSH アクセスがあること。
-
OpenShift CLI (
oc
) がインストールされている。 - Red Hat の標準またはプレミアムサブスクリプションがある。
- Red Hat カスタマーポータルのアカウントがある。
- 既存の Red Hat サポートケース ID がある。
手順
クラスターノードの一覧を取得します。
oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ターゲットノードのデバッグセッションに入ります。この手順は、
<node_name>-debug
というデバッグ Pod をインスタンス化します。oc debug node/my-cluster-node
$ oc debug node/my-cluster-node
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoExecute
エフェクトで taint が付けられたターゲットノードで、デバッグセッションに入るには、ダミー namespace に toleration を追加して、そのダミー namespace でデバッグ Pod を起動します。oc new-project dummy
$ oc new-project dummy
Copy 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-node
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /host
をデバッグシェル内の root ディレクトリーとして設定します。デバッグ Pod は、Pod 内の/host
にホストの root ファイルシステムをマウントします。root ディレクトリーを/host
に変更すると、ホストの実行パスに含まれるバイナリーを実行できます。chroot /host
# chroot /host
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Red Hat Enterprise Linux CoreOS (RHCOS) を実行する OpenShift Container Platform 4.9 クラスターノードは変更できず、Operator を使用してクラスターの変更を適用します。SSH を使用したクラスターノードへのアクセスは推奨されず、ノードは accessed のテイントのマークが付けられます。ただし、OpenShift Container Platform API が利用できない場合や、kubelet がターゲットノードで適切に機能しない場合、
oc
操作がその影響を受けます。この場合は、代わりにssh core@<node>.<cluster_name>.<base_domain>
を使用してノードにアクセスできます。sosreport
を実行するために必要なバイナリーおよびプラグインが含まれるtoolbox
コンテナーを起動します。toolbox
# toolbox
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記既存の
toolbox
Pod がすでに実行されている場合、toolbox
コマンドは以下を出力します:'toolbox-' already exists.Trying to start…
.podman rm toolbox-
で実行中の toolbox コンテナーを削除して、sosreport
プラグインの問題を回避するために、新規の toolbox コンテナーを生成します。sosreport
アーカイブを収集します。sosreport
コマンドを実行して、crio.all
およびcrio.logs
CRI-O コンテナーエンジンsosreport
プラグインを有効にします。sosreport -k crio.all=on -k crio.logs=on
# sosreport -k crio.all=on -k crio.logs=on
1 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.xz
1 The checksum is: 382ffc167510fd71b4f12a4f40b97a4e
Copy 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.xz
1 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.xz
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- デバッグコンテナーは、ホストの root ディレクトリーを
/host
にマウントします。連結のためにターゲットファイルを指定する際に、デバッグコンテナーの root ディレクトリー (/host
を含む) から絶対パスを参照します。
注記Red Hat Enterprise Linux CoreOS (RHCOS) を実行する OpenShift Container Platform 4.9 クラスターノードは変更できず、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 を選択し、プロンプトに従ってファイルをアップロードします。