14.3. 制限範囲
LimitRange
オブジェクトで定義される制限範囲は、Pod、コンテナー、イメージ、イメージストリーム、および Persistent Volume Claim (永続ボリューム要求、PVC) のレベルでプロジェクトのコンピュートリソース制約を列挙し、Pod、コンテナー、イメージ、イメージストリームまたは Persistent Volume Claim (永続ボリューム要求、PVC) で消費できるリソースの量を指定します。
すべてのリソース作成および変更要求は、プロジェクトの各 LimitRange
オブジェクトに対して評価されます。リソースが列挙される制約に違反する場合、そのリソースは拒否されます。リソースが明示的な値を指定しない場合で、制約がデフォルト値をサポートする場合は、デフォルト値がリソースに適用されます。
制限範囲はクラスター管理者によって設定され、所定プロジェクトにスコープが設定されます。
14.3.1. 制限範囲の表示
web コンソールでプロジェクトの Quota ページに移動し、プロジェクトで定義される制限範囲を表示できます。
CLI を使用して制限範囲の詳細を表示することもできます。
まず、プロジェクトで定義される制限範囲の一覧を取得します。たとえば、demoproject というプロジェクトの場合は以下のようになります。
$ oc get limits -n demoproject NAME AGE resource-limits 6d
次に、関連のある制限範囲の説明を表示します。 たとえば、resource-limits 制限範囲の場合は以下のようになります。
$ oc describe limits resource-limits -n demoproject Name: resource-limits Namespace: demoproject Type Resource Min Max Default Request Default Limit Max Limit/Request Ratio ---- -------- --- --- --------------- ------------- ----------------------- Pod cpu 200m 2 - - - Pod memory 6Mi 1Gi - - - Container cpu 100m 2 200m 300m 10 Container memory 4Mi 1Gi 100Mi 200Mi - openshift.io/Image storage - 1Gi - - - openshift.io/ImageStream openshift.io/image - 12 - - - openshift.io/ImageStream openshift.io/image-tags - 10 - - -
詳細の制限範囲の定義は、オブジェクトで oc export
を実行して表示できます。以下は、制限範囲の定義例を示しています。
コア Limit Range オブジェクトの定義
apiVersion: "v1" kind: "LimitRange" metadata: name: "core-resource-limits" 1 spec: limits: - type: "Pod" max: cpu: "2" 2 memory: "1Gi" 3 min: cpu: "200m" 4 memory: "6Mi" 5 - type: "Container" max: cpu: "2" 6 memory: "1Gi" 7 min: cpu: "100m" 8 memory: "4Mi" 9 default: cpu: "300m" 10 memory: "200Mi" 11 defaultRequest: cpu: "200m" 12 memory: "100Mi" 13 maxLimitRequestRatio: cpu: "10" 14
- 1
- 制限範囲オブジェクトの名前です。
- 2
- すべてのコンテナーにおいて Pod がノードで要求できる CPU の最大量です。
- 3
- すべてのコンテナーにおいて Pod がノードで要求できるメモリーの最大量です。
- 4
- すべてのコンテナーにおいて Pod がノードで要求できる CPU の最小量です。
- 5
- すべてのコンテナーにおいて Pod がノードで要求できるメモリーの最小量です。
- 6
- Pod の単一コンテナーが要求できる CPU の最大量です。
- 7
- Pod の単一コンテナーが要求できるメモリーの最大量です。
- 8
- Pod の単一コンテナーが要求できる CPU の最小量です。
- 9
- Pod の単一コンテナーが要求できるメモリーの最小量です。
- 10
- 指定がない場合、コンテナーによる使用を制限する CPU のデフォルト量です。
- 11
- コンテナーによる使用を制限するメモリーのデフォルト量です (指定がない場合)。
- 12
- コンテナーが使用を要求する CPU のデフォルト量です (指定がない場合)。
- 13
- コンテナーが使用を要求するメモリーのデフォルト量です (指定がない場合)。
- 14
- 制限の要求に対する比率でコンテナーで実行できる CPU バーストの最大量です。
CPU およびメモリーの測定方法についての詳細は、「コンピュートリソース」を参照してください。