Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

22.2. 割り当てられたリソースのノードの設定

リソースは、system-reserved ノード設定を設定して OpenShift Container Platform のノードコンポーネントおよびシステムコンポーネント用に予約されます。

OpenShift Container Platform は kube-reserved 設定を使用しません。Kubernetes および Kubernetes 環境を提供する一部のクラウドベンダーのドキュメントでは、kube-reserved の設定が提案されている場合があります。この情報は OpenShift Container Platform クラスターには適用されません。

リソース制限を使用してクラスターを調整し、エビクションを使用して制限を適用する場合は注意が必要です。system-reserved 制限を適用すると、メモリーリソースが不足するときに、重要なシステムサービスが CPU 時間を受信したり、重要なシステムサービスを終了したりするのを防ぐことができます。

ほとんどの場合、リソースの割り当ての調整は、調整を行ってから、本番環境のようなワークロードでクラスターのパフォーマンスを監視することによって実行されます。このプロセスは、クラスターが安定し、サービスレベルアグリーメントを満たすまで繰り返されます。

これらの設定の影響については、割り当てられるリソースの計算 を参照してください。

設定説明

kube-reserved

この設定は OpenShift Container Platform では使用されません。予約する予定の CPU とメモリーリソースを system-reserved 設定に追加します。

system-reserved

ノードコンポーネントおよびシステムコンポーネント用に予約されたリソースです。デフォルトは none です。

以下のコマンドを実行して、lscgroup などのツールで system-reserved により制御されるサービスを表示します。

# yum install libcgroup-tools
$ lscgroup memory:/system.slice

<resource_type>=<resource_quantity> ペアのセットを追加して、ノード設定マップkubeletArguments セクションのリソースを予約します。たとえば、cpu=500m,memory=1Gi は CPU の 500 ミリコアおよび 1 ギガバイトのメモリーを予約します。

例22.1 ノードの割り当て可能なリソースの設定

kubeletArguments:
  system-reserved:
    - "cpu=500m,memory=1Gi"

system-reserved フィールドが存在しない場合は追加します。

注記

node-config.yaml ファイルを直接編集しないでください。

これらの設定に適切な値を決定するには、ノード要約 API を使用して、ノードのリソース使用量を表示します。詳細は、ノードによって報告されるシステムリソース を参照してください。

system-reserved の設定後に、以下を実行します。

  • ノードのメモリー使用量をモニターして、高基準値を確認します。

    $ ps aux | grep <service-name>

    以下に例を示します。

    $ ps aux | grep atomic-openshift-node
    
    USER       PID   %CPU  %MEM  VSZ     RSS  TTY    STAT  START  TIME  COMMAND
    root       11089 11.5  0.3   112712  996  pts/1  R+    16:23  0:00  grep --color=auto atomic-openshift-node

    この値が system-reserved マークに近い場合は、system-reserved 値を増やすことができます。

  • 以下のコマンドを実行して、cgget などのツールで、システムサービスのメモリー使用量を監視します。

    # yum install libcgroup-tools
    $ cgget -g memory  /system.slice | grep memory.usage_in_bytes

    この値が system-reserved マークに近い場合は、system-reserved 値を増やすことができます。

  • OpenShift Container Platform クラスターローダー を使用して、さまざまなクラスター状態でのデプロイメントのパフォーマンスメトリクスを測定します。