8.7. LimitRange オブジェクト内の制限範囲


オブジェクトレベルでコンピューティングリソースの制約を定義するには、LimitRange オブジェクトを作成します。このオブジェクトを作成することで、個々の Pod、コンテナー、イメージ、または永続ボリューム要求が消費できるリソースの正確な量を指定できます。

すべてのリソース作成および変更要求は、プロジェクトのそれぞれの LimitRange オブジェクトに対して評価されます。リソースが列挙される制約のいずれかに違反する場合、そのリソースは拒否されます。リソースが明示的な値を指定しない場合で、制約がデフォルト値をサポートする場合は、デフォルト値がリソースに適用されます。

CPU とメモリーの制限について、最大値を指定しても最小値を指定しない場合、リソースは最大値よりも多くの CPU とメモリーリソースを消費する可能性があります。

コア制限範囲オブジェクトの定義

apiVersion: "v1"
kind: "LimitRange"
metadata:
  name: "core-resource-limits"
spec:
  limits:
    - type: "Pod"
      max:
        cpu: "2"
        memory: "1Gi"
      min:
        cpu: "200m"
        memory: "6Mi"
    - type: "Container"
      max:
        cpu: "2"
        memory: "1Gi"
      min:
        cpu: "100m"
        memory: "4Mi"
      default:
        cpu: "300m"
        memory: "200Mi"
      defaultRequest:
        cpu: "200m"
        memory: "100Mi"
      maxLimitRequestRatio:
        cpu: "10"
# ...

ここでは、以下のようになります。

metadata.name
制限範囲オブジェクトの名前を指定します。
最大 CPU
ノード上のすべてのコンテナーにおいて、Pod が要求できる最大 CPU 量を指定します。
最大メモリー
ノード上のすべてのコンテナーにおいて、Pod が要求できる最大メモリー量を指定します。
最小 CPU
ノード上のすべてのコンテナーにおいて、Pod が要求できる最小 CPU 量を指定します。min 値を設定しない場合や、min0 に設定すると、結果は制限されず、Pod は max CPU 値を超える量を消費することができます。
最小メモリー
ノード上のすべてのコンテナーにおいて、Pod が要求できる最小メモリー量を指定します。min 値を設定しない場合や、min0 に設定すると、結果は制限されず、Pod は max メモリー値を超える量を消費することができます。
最大 CPU
Pod 内の単一コンテナーが要求できる最大 CPU 量を指定します。
最大メモリー
Pod 内の単一コンテナーが要求できる最大メモリー量を指定します。
最小 CPU
Pod 内の単一コンテナーが要求できる最小 CPU 量を指定します。min 値を設定しない場合や、min0 に設定すると、結果は制限されず、Pod は max CPU 値を超える量を消費することができます。
最大メモリー
Pod 内の単一コンテナーが要求できる最小メモリー量を指定します。min 値を設定しない場合や、min0 に設定すると、結果は制限されず、Pod は max メモリー値を超える量を消費することができます。
デフォルト.CPU
Pod 仕様で制限を指定しない場合に、コンテナーのデフォルトの CPU 制限を指定します。
デフォルトメモリー
Pod の仕様でメモリー制限を指定しない場合に、コンテナーのデフォルトのメモリー制限を指定します。
defaultRequest.cpu
Pod 仕様で要求を指定しない場合に、コンテナーのデフォルトの CPU 要求を指定します。
デフォルトリクエストのメモリー
Pod 仕様でメモリー要求を指定しない場合に、コンテナーのデフォルトのメモリー要求を指定します。
maxLimitRequestRatio.cpu
コンテナーの最大制限対リクエスト比率を指定します。

OpenShift Container Platform の制限範囲オブジェクトの定義

apiVersion: "v1"
kind: "LimitRange"
metadata:
  name: "openshift-resource-limits"
spec:
  limits:
    - type: openshift.io/Image
      max:
        storage: 1Gi
    - type: openshift.io/ImageStream
      max:
        openshift.io/image-tags: 20
        openshift.io/images: 30
    - type: "Pod"
      max:
        cpu: "2"
        memory: "1Gi"
        ephemeral-storage: "1Gi"
      min:
        cpu: "1"
        memory: "1Gi"
# ...

ここでは、以下のようになります。

制限.最大ストレージ
内部レジストリーにプッシュできるイメージの最大サイズを指定します。
limits.max.openshift.io/image-tags
イメージストリームの仕様で定義されている、一意のイメージタグの最大数を指定します。
limits.max.openshift.io/images
イメージストリームの状態に関する仕様で定義されている、一意のイメージ参照の最大数を指定します。
タイプ.最大 CPU
ノード上のすべてのコンテナーにおいて、Pod が要求できる最大 CPU 量を指定します。
タイプ.最大メモリー
ノード上のすべてのコンテナーにおいて、Pod が要求できる最大メモリー量を指定します。
タイプ.最大一時ストレージ
ノード上のすべてのコンテナーにおいて、Pod が要求できる一時ストレージの最大量を指定します。
最小 CPU
ノード上のすべてのコンテナーにおいて、Pod が要求できる最小 CPU 量を指定します。重要な情報は、「サポートされる制約」の表を参照してください。
最小メモリー
ノード上のすべてのコンテナーにおいて、Pod が要求できる最小メモリー量を指定します。min 値を設定しない場合や、min0 に設定すると、結果は制限されず、Pod は max メモリー値を超える量を消費することができます。

コアおよび OpenShift Container Platform リソースの両方を 1 つの制限範囲オブジェクトで指定できます。

8.7.1. コンテナーの制限

LimitRange オブジェクトを作成した後、コンテナーが消費できるリソースの正確な量を指定できます。

コンテナーが消費できるリソースのリストを以下に示します。

  • CPU
  • メモリー

以下の表は、コンテナーでサポートされている制約を示しています。指定されている場合、制約は各コンテナーに対して満たされなければならない。

Expand
制約動作

Min

Min[<resource>]container.resources.requests[<resource>] 以下 (必須)、container/resources.limits[<resource>] 以下 (オプション)

設定で min CPU を定義している場合、要求値はその CPU 値よりも大きくなければなりません。min 値を設定しない場合や、min0 に設定すると、結果は制限されず、Pod は max 値よりも多くのリソースを消費できます。

Max

container.resources.limits[<resource>] (必須) は Max[<resource>] 以下

設定で max CPU を定義している場合、CPU 要求値を定義する必要はありません。ただし、制限範囲で指定される最大 CPU 制約を満たす制限を設定する必要があります。

MaxLimitRequestRatio

MaxLimitRequestRatio[<resource>] は (container.resources.limits[<resource>] / container.resources.requests[<resource>]) 以下

制限範囲で maxLimitRequestRatio 制約を定義する場合、新規コンテナーには requestlimit 値の両方が必要になります。さらに OpenShift Container Platform は、limitrequest で除算して、制限の要求に対する比率を算出します。結果は、1 を超える整数である必要があります。

たとえば、コンテナーの limit 値が cpu: 500 で、request 値が cpu: 100 である場合、cpu の要求に対する制限の比は 5 になります。この比率は maxLimitRequestRatio 以下である必要があります。

コンテナーが消費できるデフォルトのリソースを以下に示します。

  • Default[<resource>]: 指定がない場合、container.resources.limit[<resource>] を指定された値にデフォルト設定します。
  • Default Requests[<resource>]: 指定がない場合、container.resources.requests[<resource>] を指定された値にデフォルト設定します。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る