7.2. ノードの健全性の確認
7.2.1. ノードのステータス、リソースの使用状況および設定の確認 リンクのコピーリンクがクリップボードにコピーされました!
クラスターノードの健全性ステータス、リソース消費統計、およびノードログを確認します。さらに、個別ノードの kubelet
ステータスのクエリーを実行します。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 -
OpenShift CLI (
oc
) がインストールされている。
手順
クラスターのすべてのノードの名前、ステータスおよびロールをリスト表示します。
oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスター内の各ノードの CPU およびメモリーの使用状況を要約します。
oc adm top nodes
$ oc adm top nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 特定のノードの CPU およびメモリーの使用状況を要約します。
oc adm top node my-node
$ oc adm top node my-node
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.2.2. ノードにおける kubelet ステータスのクエリー リンクのコピーリンクがクリップボードにコピーされました!
クラスターノードの健全性ステータス、リソース消費統計、およびノードログを確認できます。さらに、個別のノードで kubelet
ステータスをクエリーできます。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 - API サービスが機能している。
-
OpenShift CLI (
oc
) がインストールされている。
手順
kubelet は各ノードの systemd サービスを使用して管理されます。デバッグ Pod 内で
kubelet
systemd サービスをクエリーし、kubelet のステータスを確認します。ノードのデバッグ Pod を起動します。
oc debug node/my-node
$ oc debug node/my-node
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記コントロールプレーンノードで
oc debug
を実行している場合は、/etc/kubernetes/static-pod-resources/kube-apiserver-certs/secrets/node-kubeconfigs
ディレクトリーに管理用kubeconfig
ファイルがあります。/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.12 クラスターノードは変更できず、Operator を使用してクラスターの変更を適用します。SSH を使用したクラスターノードへのアクセスは推奨されません。ただし、OpenShift Container Platform API が利用できない場合や、
kubelet
がターゲットノードで適切に機能しない場合、oc
操作がその影響を受けます。この場合は、代わりにssh core@<node>.<cluster_name>.<base_domain>
を使用してノードにアクセスできます。kubelet
systemd サービスがノードでアクティブかどうかを確認します。systemctl is-active kubelet
# systemctl is-active kubelet
Copy to Clipboard Copied! Toggle word wrap Toggle overflow より詳細な
kubelet.service
ステータスの要約を出力します。systemctl status kubelet
# systemctl status kubelet
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.2.3. クラスターノードジャーナルログのクエリー リンクのコピーリンクがクリップボードにコピーされました!
個別のクラスターノードの /var/log
内で journald
ユニットログおよびその他のログを収集できます。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 - API サービスが機能している。
-
OpenShift CLI (
oc
) がインストールされている。 - ホストへの SSH アクセスがあること。
手順
OpenShift Container Platform クラスターノードに対して、
kubelet
のjournald
ユニットログのクエリーを実行します。以下の例では、コントロールプレーンノードのみがクエリーされます。oc adm node-logs --role=master -u kubelet
$ oc adm node-logs --role=master -u kubelet
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- クエリーを実行して他のユニットログを取得するために、
kubelet
を適宜置き換えます。
クラスターノードの
/var/log/
の下にある特定のサブディレクトリーからログを収集します。/var/log/
サブディレクトリー内に含まれるログの一覧を取得します。以下の例では、すべてのコントロールプレーンノードの/var/log/openshift-apiserver/
にあるファイルをリスト表示します。oc adm node-logs --role=master --path=openshift-apiserver
$ oc adm node-logs --role=master --path=openshift-apiserver
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /var/log/
サブディレクトリー内の特定ログを確認します。以下の例は、すべてのコントロールプレーンノードから/var/log/openshift-apiserver/audit.log
コンテンツを出力します。oc adm node-logs --role=master --path=openshift-apiserver/audit.log
$ oc adm node-logs --role=master --path=openshift-apiserver/audit.log
Copy to Clipboard Copied! Toggle word wrap Toggle overflow API が機能しない場合は、代わりに SSH を使用して各ノードのログを確認します。以下の例は、
/var/log/openshift-apiserver/audit.log
をベースとしています。ssh core@<master-node>.<cluster_name>.<base_domain> sudo tail -f /var/log/openshift-apiserver/audit.log
$ ssh core@<master-node>.<cluster_name>.<base_domain> sudo tail -f /var/log/openshift-apiserver/audit.log
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Red Hat Enterprise Linux CoreOS (RHCOS) を実行する OpenShift Container Platform 4.12 クラスターノードは変更できず、Operator を使用してクラスターの変更を適用します。SSH を使用したクラスターノードへのアクセスは推奨されません。SSH 経由で診断データの収集を試行する前に、
oc adm must gather
およびその他のoc
コマンドを実行して収集されるデータが十分であるかどうかを確認してください。ただし、OpenShift Container Platform API が利用できない場合や、kubelet がターゲットノードで適切に機能しない場合、oc
操作がその影響を受けます。この場合は、代わりにssh core@<node>.<cluster_name>.<base_domain>
を使用してノードにアクセスできます。