5.4. OpenShift Container Platform クラスターノードの sosreport アーカイブの生成
				OpenShift Container Platform 4.19 クラスターノードの sosreport を生成する際に推奨される方法は、デバッグ Pod を使用することです。
			
前提条件
- 
						cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。
- ホストへの SSH アクセスがあること。
- 
						OpenShift CLI (oc) がインストールされている。
- Red Hat の Standard または Premium サブスクリプションがある。
- 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.19 クラスターノードは、イミュータブルです。クラスターの変更を適用するには、Operator を使用します。SSH を使用したクラスターノードへのアクセスは推奨されません。ただし、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 注記- 既存の - toolboxPod がすでに実行されている場合、- toolboxコマンドは以下を出力します:- 'toolbox-' already exists.Trying to start….- podman rm toolbox-で実行中の toolbox コンテナーを削除して、- sosreportプラグインの問題を回避するために、新規の toolbox コンテナーを生成します。
- sosreportアーカイブを収集します。- sos reportコマンドを実行して、- crioおよび- podmanで必要なトラブルシューティングデータを収集します。- sos report -k crio.all=on -k crio.logs=on -k podman.all=on -k podman.logs=on - # sos report -k crio.all=on -k crio.logs=on -k podman.all=on -k podman.logs=on- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- -kにより、デフォルト以外の- sosreportプラグインパラメーターを定義できます。
 
- オプション: ノードからの OVN-Kubernetes ネットワーク設定に関する情報をレポートに含めるには、次のコマンドを実行します。 - sos report --all-logs - # sos report --all-logs- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- プロンプトが表示されたら Enter を押して続行します。
- 
								Red Hat サポートケース ID を指定します。sosreportは ID をアーカイブのファイル名に追加します。
- sosreport出力は、アーカイブの場所とチェックサムを提供します。以下の出力参照例は、ケース ID- 01234567を参照します。- 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 サポートに提供します。- 既存の 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.19 クラスターノードは、イミュータブルです。クラスターの変更を適用するには、Operator を使用します。 - scpを使用してクラスターノードから- sosreportアーカイブを転送することは推奨されません。ただし、OpenShift Container Platform API が利用できない場合や、kubelet がターゲットノードで適切に機能しない場合、- oc操作がその影響を受けます。この状態では、- scp core@<node>.<cluster_name>.<base_domain>:<file_path> <local_path>を実行して、ノードから- sosreportアーカイブをコピーすることができます。
- Red Hat カスタマーポータルの Customer Support ページ にある既存のサポートケースに移動します。
- Attach files を選択し、プロンプトに従ってファイルをアップロードします。