6.3.7. 圧力失速情報 (PSI) モニタリングの有効化
MachineConfig オブジェクトを使用することで、Linux の圧力ストール情報 (PSI) の監視を有効にできます。PSI モニタリングを有効にすると、クラスターの CPU、メモリー、I/O に関する PSI メトリクスが利用可能になります。これらのメトリクスを使用することで、CPU、メモリー、I/O リソースの問題によって引き起こされる障害を特定し、スケジューリングや退避に関する意思決定をより適切に行うことができます。
PSI を有効にした場合のパフォーマンスへの影響はごくわずかです。ただし、レイテンシーに敏感な環境では、本番クラスターで有効にする前に、テスト環境で PSI を有効にしてその影響を確認することができます。または、1 つのワーカーノードで PSI を有効にして、パフォーマンスへの影響を監視することもできます。次に、より多くのワーカーノードで徐々にその機能を有効にします。PSI を有効にすると 、prometheus-k8s Pod の RSS メモリー使用量を増加させる可能性のある新しいコンテナーメトリクスが導入されます。コンテナー数の多いクラスターでは、prometheus-k8s Pod のメモリー使用量を監視し、必要に応じてリソースを調整します。
前提条件
-
設定したいノードの種類に対応する、静的
MachineConfigPoolCR に関連付けられたラベルを取得しました。
手順
マシン設定を含む、以下のような YAML ファイルを作成します。
apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: labels: machineconfiguration.openshift.io/role: <label> name: 99-openshift-machineconfig-<label>-kargs spec: kernelArguments: - psi=1各項目の説明:
metadata.labels.machineconfiguration.openshift.io/role:<label>- PSI を有効にするノードのロールを指定します。
spec.kernelArguments.psi.1- 圧力失速情報 (PSI) の監視を有効にすることを指定します。
次のようなコマンドを実行して、
MachineConfigオブジェクトを作成します。$ oc create -f <file-name>.yaml変更が適用されている間、指定されたロールを持つノードは再起動します。
検証
ノードが
Ready状態に戻ったら、次のコマンドを実行してノードのデバッグセッションを開始します。$ oc debug node/<node_name>次のコマンドを実行して、デバッグシェル内のルートディレクトリーとして
/hostを設定します。sh-5.1# chroot /hostノードで PSI が有効になっていることを確認するには、以下のいずれかまたはすべての方法を使用してください。
以下のコマンドを実行して、PSI が有効になっていることを確認してください。
sh-5.1# cat /proc/cmdline | grep psi=1出力例
BOOT_IMAGE=(hd0,gpt3)/boot/ostree/rhcos-462f0c234e81f17224d7dbd4dc22d3f7046f70179e259c41a0a807e8b2f99428/vmlinuz-5.14.0-570.80.1.el9_6.x86_64 rw ostree=/ostree/boot.0/rhcos/462f0c234e81f17224d7dbd4dc22d3f7046f70179e259c41a0a807e8b2f99428/0 ignition.platform.id=gcp console=tty0 console=ttyS0,115200n8 root=UUID=d8254ef4-668e-49c5-b430-a45eefb834d7 rw rootflags=prjquota boot=UUID=22972ae8-ed08-43ff-931d-49e6d737c542 systemd.unified_cgroup_hierarchy=1 cgroup_no_v1=all psi=1各項目の説明:
psi=1- ノード上で PSI が有効になっていることを指定します。
以下のコマンドを実行して、PSI ファイルが存在することを確認してください。
sh-5.1# ls /proc/pressure/出力例
cpu io irq memory各項目の説明:
CPU、I/O、IRQ、メモリー- 圧力ファイルを指定し、PSI が有効になっていることを示します。
以下のコマンドを実行して PSI メトリクスを確認し、プロセスが CPU リソースを待機して停止していた時間の割合を確認してください。
# cat /proc/pressure/cpu出力例
some avg10=0.91 avg60=1.05 avg300=1.28 total=61523749 full avg10=0.00 avg60=0.00 avg300=0.00 total=0各項目の説明:
いくつかの- 少なくとも一部のタスクが CPU 待ちで停止している時間の割合を指定します。
full- アイドル状態ではないすべてのタスクが、CPU 待ちのために停止している時間の割合を指定します。
PSI メトリクスの使用方法の詳細は、Linux カーネルのドキュメントにある PSI - 圧力失速情報を参照してください。