22.2. 割り当てられたリソースのノードの設定
リソースは、system-reserved
ノード設定を設定して OpenShift Container Platform のノードコンポーネントおよびシステムコンポーネント用に予約されます。
OpenShift Container Platform は kube-reserved
設定を使用しません。Kubernetes および Kubernetes 環境を提供する一部のクラウドベンダーのドキュメントでは、kube-reserved
の設定が提案されている場合があります。この情報は OpenShift Container Platform クラスターには適用されません。
リソース制限を使用してクラスターを調整し、エビクションを使用して制限を適用する場合は注意が必要です。system-reserved
制限を適用すると、メモリーリソースが不足するときに、重要なシステムサービスが CPU 時間を受信したり、重要なシステムサービスを終了したりするのを防ぐことができます。
ほとんどの場合、リソースの割り当ての調整は、調整を行ってから、本番環境のようなワークロードでクラスターのパフォーマンスを監視することによって実行されます。このプロセスは、クラスターが安定し、サービスレベルアグリーメントを満たすまで繰り返されます。
これらの設定の影響については、割り当てられるリソースの計算 を参照してください。
設定 | 説明 |
---|---|
|
この設定は OpenShift Container Platform では使用されません。予約する予定の CPU とメモリーリソースを |
| ノードコンポーネントおよびシステムコンポーネント用に予約されたリソースです。デフォルトは 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 クラスターローダー を使用して、さまざまなクラスター状態でのデプロイメントのパフォーマンスメトリクスを測定します。