Apply suggestions from code review

Co-authored-by: Naoki Oketani <okepy.naoki@gmail.com>
This commit is contained in:
TAKAHASHI Shuuji
2020-08-07 07:46:49 +09:00
committed by GitHub
parent aaeb478b2e
commit 6dc127554e
@@ -13,8 +13,8 @@ weight: 10
*LimitRange*を利用すると、次のような制約を課せるようになります。
- 名前空間内のPodまたはコンテナごとに、計算リソースの使用量の最小値と最大値を強制する。
- 名前空間内のPersistentVolumeClaimごとに、ストレージリクエストの使用量の最小値と最大値を強制する。
- 名前空間内で、リソースのrequestとlimitの割合を強制する
- 名前空間内のPersistentVolumeClaimごとに、ストレージリクエストの最小値と最大値を強制する。
- 名前空間内で、リソースのrequestとlimitの割合を強制する
- 名前空間内の計算リソースのデフォルトのrequest/limitの値を設定して、実行時にコンテナに自動的に注入する。
## LimitRangeを有効にする
@@ -28,16 +28,16 @@ LimitRangeオブジェクトの名前は、有効な[DNSサブドメイン名](/
### Limit Rangeの概要
- 管理者は、1つの名前空間に1つのLimitRangeを作成します。
- ユーザーは、Pod、コンテナ、PersistentVolumeClaimsのようなリソースを名前空間内に作成します。
- `LimitRanger` admissionコントローラーは、計算リソース要求が設定されていないすべてのPodとコンテナに対して、デフォルト値と制限値を強制します。そして、リソースの使用量を追跡し、名前空間内に存在するすべてのLimitRangeで定義された最小値、最大値、割合を外れないことを保証します。
- ユーザーは、Pod、コンテナ、PersistentVolumeClaimのようなリソースを名前空間内に作成します。
- `LimitRanger`アドミッションコントローラーは、計算リソース要求が設定されていないすべてのPodとコンテナに対して、デフォルト値と制限値を強制します。そして、リソースの使用量を追跡し、名前空間内に存在するすべてのLimitRangeで定義された最小値、最大値、割合を外れないことを保証します。
- LimitRangeの制約を破るようなリソース(Pod、コンテナ、PersistentVolumeClaim)の作成や更新を行うと、APIサーバーへのリクエストがHTTPステータスコード`403 FORBIDDEN`で失敗し、破られた制約を説明するメッセージが返されます。
- 名前空間内でLimitRangeが`cpu``memory`などの計算リソースに対して有効になっている場合、ユーザーはrequestsやlimitsに値を指定しなければなりません。指定しなかった場合、システムはPodの作成を拒否する可能性があります。
- LimitRangeの制約違反は、PodのAdmissionステージでのみ発生し、Running状態のPodでは発生しせん。
- LimitRangeの検証は、Podのアドミッションステージでのみ発生し、実行中のPodでは発生しせん。
以下は、LimitRangeを使用して作成できるポリシーの例です。
- 8GiBのRAMと16コアのCPUの容量がある2ノードのクラスター上で、名前空間内のPodに対して、CPUには100mのrequestと最大500mのlimitの制約を課し、メモリには200Miのrequestと600Miのlimitの制約を課す。
- Spec内のrequestsにcpuやmemoryを指定せずに起動したコンテナに対して、CPUにはデフォルトで150mのlimitとrequestを、メモリにはデフォルトで300Miのrequestをそれぞれ定義する。
- 8GiBのRAMと16コアのCPUの容量がある2ノードのクラスター上で、名前空間内のPodに対して、CPUには100mのrequestと最大500mのlimitの制約を課し、メモリには200Miのrequestと600Miのlimitの制約を課す。
- Spec内のrequestsにcpuやmemoryを指定せずに起動したコンテナに対して、CPUにはデフォルトで150mのlimitとrequestを、メモリにはデフォルトで300Miのrequestをそれぞれ定義する。
名前空間のlimitの合計が、Podやコンテナのlimitの合計よりも小さくなる場合、リソースの競合が起こる可能性があります。その場合、コンテナやPodは作成されません。
@@ -50,8 +50,8 @@ LimitRangeに対する競合や変更は、すでに作成済みのリソース
制限の使用例については、以下のページを読んでください。
- [名前空間ごとにCPUの最小値と最大値の制約を設定する方法](/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace/)。
- [名前空間ごとにメモリの最小値と最大値の制約を設定する方法](/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace/)。
- [名前空間ごとにメモリの最小値と最大値の制約を設定する方法](/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace/)。
- [名前空間ごとにCPUのRequestとLimitのデフォルト値を設定する方法](/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace/)。
- [名前空間ごとにメモリのRequestとLimitのデフォルト値を設定する方法](/docs/tasks/administer-cluster/manage-resources/memory-default-namespace/)。
- [名前空間ごとにメモリのRequestとLimitのデフォルト値を設定する方法](/docs/tasks/administer-cluster/manage-resources/memory-default-namespace/)。
- [名前空間ごとにストレージ消費量の最小値と最大値を設定する方法](/docs/tasks/administer-cluster/limit-storage-consumption/#limitrange-to-limit-requests-for-storage)。
- [名前空間ごとのクォータを設定する詳細な例](/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/)。