Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

22.6. ノードの実施

ノードは、Pod が設定された割り当て可能な値に基づいて消費できるリソースの合計量を制限できます。この機能は、Pod がシステムサービス (コンテナーランタイム、ノードエージェントなど) で必要とされる CPU およびメモリーリソースを使用することを防ぎ、ノードの信頼性を大幅に強化します。ノードの信頼性を強化するために、管理者はリソースの使用についてのターゲットに基づいてリソースを確保する必要があります。

ノードは、QoS (Quality of Service) を実施する新規の cgroup 階層を使用してリソースの制約を実施します。すべての Pod は、システムデーモンから切り離された専用の cgroup 階層で起動されます。

ノードの実施を設定するには、適切な ノード設定マップ で、以下のパラメーターを使用します。

例22.2 ノードの cgroup 設定

kubeletArguments:
  cgroups-per-qos:
    - "true" 1
  cgroup-driver:
    - "systemd" 2
  enforce-node-allocatable:
    - "pods" 3
1
それぞれの QoS (Quality of Service) の cgroup 階層を有効化または無効化します。cgroups はノードによって管理されます。この設定の変更にはノードの完全なドレイン (解放) が必要になります。ノード割り当て可能リソース制約をノードが実施できるようにするには、このフラグを true にする必要があります。デフォルト値は true です。Red Hat では、この値を変更することを推奨していません。
2
cgroup 階層を管理するためにノードによって使用される cgroup ドライバーです。この値はコンテナーランタイムに関連付けられたドライバーに一致する必要があります。有効な値は systemd および cgroupfs ですが、Red Hat は systemd のみをサポートします。
3
ノードがノードのリソース制約を実施するスコープのコンマ区切りの一覧です。デフォルト値は pods です。Red Hat は Pod のみをサポートします。

管理者は Guaranteed QoS (Quality of Service) のある Pod と同様にシステムデーモンを処理する必要があります。システムデーモンは、境界となる制御グループ内でバーストする可能性があり、この動作はクラスターのデプロイメントの一部として管理される必要があります。割り当て済みのリソースのノードの設定 セクションで説明されているように、system-reserved でリソースを指定して、システムデーモンの CPU およびメモリーリソースを予約します。

設定されている cgroup ドライバーを表示するには、以下のコマンドを実行します。

$ systemctl status atomic-openshift-node -l | grep cgroup-driver=

出力には、以下のような応答が含まれます。

--cgroup-driver=systemd

cgroup ドライバーの管理およびトラブルシューティングに関する詳細は、コントロールグループ (Cgroups) の概要 を参照してください。