14.4. コンピュートリソース
ノードで実行される各コンテナーはコンピュートリソースを消費します。コンピュートリソースは要求し、割り当て、消費できる数量を測定できるリソースです。
Pod 設定ファイルの作成時に、クラスター内の Pod のスケジューリングを改善し、満足のいくパフォーマンスを確保できるように、各コンテナーが必要とする CPU、メモリー (RAM)、ローカルの一時ストレージ (管理者が一時ストレージのテクノロジープレビュー機能を有効にしている場合) をオプションで指定できます。
CPU は millicore という単位で測定されます。クラスター内の各ノードはオペレーティングシステムを検査して、ノード上の CPU コアの量を判別し、その値を 1000 で乗算して合計容量を表します。たとえば、ノードに 2 コアある場合に、ノードの CPU 容量は 2000m として表されます。単一コアの 1/10 を使用する場合には、100m として表されます。
メモリーおよび一時ストレージはバイト単位で測定されます。さらに、これには SI 接尾辞 (E、P、T、G、M、 K) または、相当する 2 のべき乗の値 (Ei、Pi、Ti、Gi、Mi、Ki) を指定できます。
apiVersion: v1 kind: Pod spec: containers: - image: openshift/hello-openshift name: hello-openshift resources: requests: cpu: 100m 1 memory: 200Mi 2 ephemeral-storage: 1Gi 3 limits: cpu: 200m 4 memory: 400Mi 5 ephemeral-storage: 2Gi 6
14.4.1. CPU 要求
Pod の各コンテナーはノードで要求する CPU の量を指定できます。スケジューラーは CPU 要求を使用してコンテナーに適したノードを検索します。
CPU 要求はコンテナーが消費できる CPU の最小量を表しますが、CPU の競合がない場合、ノード上の利用可能なすべての CPU を使用できます。ノードに CPU の競合がある場合、CPU 要求はシステム上のすべてのコンテナーに対し、コンテナーで使用可能な CPU 時間についての相対的な重みを指定します。
ノード上でこの動作を実施するために CPU 要求がカーネル CFS 共有にマップされます。