Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

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
1
コンテナーは 100m CPU を要求します。
2
コンテナーは 200Mi メモリーを要求します。
3
コンテナーは 1Gi の一時ストレージを要求します。このパラメーターの値を指定するには、管理者が一時ストレージのテクノロジープレビュー機能を有効にしている必要があります。
4
コンテナーは 200m CPU の制限を設定します。
5
コンテナーは 400Mi メモリーの制限を設定します。
6
コンテナーは 2Gi の一時ストレージを要求します。このパラメーターの値を指定するには、管理者が一時ストレージのテクノロジープレビュー機能を有効にしている必要があります。

14.4.1. CPU 要求

Pod の各コンテナーはノードで要求する CPU の量を指定できます。スケジューラーは CPU 要求を使用してコンテナーに適したノードを検索します。

CPU 要求はコンテナーが消費できる CPU の最小量を表しますが、CPU の競合がない場合、ノード上の利用可能なすべての CPU を使用できます。ノードに CPU の競合がある場合、CPU 要求はシステム上のすべてのコンテナーに対し、コンテナーで使用可能な CPU 時間についての相対的な重みを指定します。

ノード上でこの動作を実施するために CPU 要求がカーネル CFS 共有にマップされます。