7.2.2. ノードにおける kubelet ステータスのクエリー

クラスターノードの正常性ステータス、リソース消費統計およびノードログを確認できます。さらに、個別のノードで kubelet ステータスをクエリーできます。

前提条件

  • cluster-admin ロールを持つユーザーとしてクラスターにアクセスできる。
  • API サービスが機能している。
  • OpenShift CLI (oc) がインストールされている。

手順

  1. kubelet は各ノードの systemd サービスを使用して管理されます。デバッグ Pod 内で kubelet systemd サービスをクエリーし、kubelet のステータスを確認します。

    1. ノードのデバッグ Pod を起動します。

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

      # chroot /host
      注記

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

    3. kubelet systemd サービスがノードでアクティブかどうかを確認します。

      # systemctl is-active kubelet
    4. より詳細な kubelet.service ステータスの要約を出力します。

      # systemctl status kubelet