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 memory: 200Mi ephemeral-storage: 1Gi limits: cpu: 200m memory: 400Mi ephemeral-storage: 2Gi
apiVersion: v1
kind: Pod
spec:
containers:
- image: openshift/hello-openshift
name: hello-openshift
resources:
requests:
cpu: 100m
memory: 200Mi
ephemeral-storage: 1Gi
limits:
cpu: 200m
memory: 400Mi
ephemeral-storage: 2Gi
14.4.1. CPU 要求
Pod の各コンテナーはノードで要求する CPU の量を指定できます。スケジューラーは CPU 要求を使用してコンテナーに適したノードを検索します。
CPU 要求はコンテナーが消費できる CPU の最小量を表しますが、CPU の競合がない場合、ノード上の利用可能なすべての CPU を使用できます。ノードに CPU の競合がある場合、CPU 要求はシステム上のすべてのコンテナーに対し、コンテナーで使用可能な CPU 時間についての相対的な重みを指定します。
ノード上でこの動作を実施するために CPU 要求がカーネル CFS 共有にマップされます。