[ko] Update outdated files in dev-1.23-ko.2 M50-59

This commit is contained in:
Jihoon Seo
2022-02-18 18:27:49 +09:00
parent b7e6cf5d55
commit 3c29f68586
8 changed files with 155 additions and 117 deletions
@@ -2,23 +2,36 @@
title: 네임스페이스에 대한 기본 CPU 요청량과 상한 구성
content_type: task
weight: 20
description: >-
한 네임스페이스에 CPU 리소스 상한의 기본값을 정의하며,
이를 통해 미리 설정한 CPU 리소스 상한이 해당 네임스페이스의 새로운 파드에 설정되도록 한다.
---
<!-- overview -->
이 페이지는 네임스페이스에 대한 기본 CPU 요청량(request) 및 상한(limit)을 구성하는 방법을 보여준다.
쿠버네티스 클러스터는 네임스페이스로 나눌 수 있다. 기본 CPU 상한이 있는 네임스페이스에서
컨테이너가 생성되고, 컨테이너가 자체 CPU 상한을 지정하지 않으면,
컨테이너에 기본 CPU 상한이 할당된다. 쿠버네티스는 이 문서의 뒷부분에서
설명하는 특정 조건에서 기본 CPU 요청량을 할당한다.
이 페이지는 {{< glossary_tooltip text="네임스페이스" term_id="namespace" >}}에 대한
기본 CPU 요청량(request) 및 상한(limit)을 구성하는 방법을 보여준다.
쿠버네티스 클러스터를 여러 네임스페이스로 나눌 수 있다.
기본 CPU [상한](/ko/docs/concepts/configuration/manage-resources-containers/#요청-및-제한)이
설정되어 있는 네임스페이스에 파드를 생성했는데,
해당 파드의 모든 컨테이너에 CPU 상한이 명시되어 있지 않다면,
{{< glossary_tooltip text="컨트롤 플레인" term_id="control-plane" >}}이
해당 컨테이너에 기본 CPU 상한을 할당한다.
쿠버네티스는 기본 CPU
[사용량](/ko/docs/concepts/configuration/manage-resources-containers/#요청-및-제한)을 할당하는데,
이는 이 페이지의 이후 부분에서 설명될 특정 조건 하에서만 수행된다.
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
{{< include "task-tutorial-prereqs.md" >}}
클러스터에 네임스페이스를 생성할 수 있는 권한이 있어야 한다.
쿠버네티스에서 “1.0 CPU”가 무엇을 의미하는지 익숙하지 않다면,
[CPU의 의미](/ko/docs/concepts/configuration/manage-resources-containers/#cpu의-의미)를 참조한다.
<!-- steps -->
@@ -33,8 +46,8 @@ kubectl create namespace default-cpu-example
## 리밋레인지(LimitRange)와 파드 생성
다음은 리밋레인지 오브젝트의 구성 파일이다. 구성은
기본 CPU 요청량 및 기본 CPU 상한을 지정한다.
다음은 예시 {{< glossary_tooltip text="리밋레인지" term_id="limitrange" >}}에 대한 매니페스트이다.
이 매니페스트는 기본 CPU 요청량 및 기본 CPU 상한을 지정한다.
{{< codenew file="admin/resource/cpu-defaults.yaml" >}}
@@ -44,13 +57,13 @@ default-cpu-example 네임스페이스에 리밋레인지를 생성한다.
kubectl apply -f https://k8s.io/examples/admin/resource/cpu-defaults.yaml --namespace=default-cpu-example
```
이제 컨테이너가 default-cpu-example 네임스페이스에 생성고,
컨테이너가 CPU 요청량 및 CPU 상한에 대해 고유한 값을 지정하지 않으면,
컨테이너에 CPU 요청량의 기본값 0.5와 CPU 상한
기본값 1이 부여된다.
이제 파드를 `default-cpu-example` 네임스페이스에 생성고,
해당 파드의 어떤 컨테이너도 자체 CPU 요청량(request)과 상한(limit)을 명시하지 않으면,
컨트롤 플레인이 해당 컨테이너에 CPU 요청량의 기본값(0.5)과
상한의 기본값(1)을 지정한다.
컨테이너가 하나인 파드의 구성 파일은 다음과 같다. 컨테이너는
CPU 요청량과 상한을 지정하지 않는다.
다음은 컨테이너가 하나인 파드의 매니페스트이다.
해당 컨테이너는 CPU 요청량과 상한을 지정하지 않는다.
{{< codenew file="admin/resource/cpu-defaults-pod.yaml" >}}
@@ -66,8 +79,9 @@ kubectl apply -f https://k8s.io/examples/admin/resource/cpu-defaults-pod.yaml --
kubectl get pod default-cpu-demo --output=yaml --namespace=default-cpu-example
```
출력 결과는 파드의 컨테이너에 500 milicpu의 CPU 요청량과
1 cpu의 CPU 상한이 있음을 나타낸다. 이것은 리밋레인지에 의해 지정된 기본값이다.
출력을 보면 파드 내 유일한 컨테이너의 CPU 요청량이 500m `cpu`("500 밀리cpu"로 읽을 수 있음)이고,
CPU 상한이 1 `cpu`임을 알 수 있다.
이것은 리밋레인지에 의해 지정된 기본값이다.
```shell
containers:
@@ -83,8 +97,8 @@ containers:
## 컨테이너 상한은 지정하고, 요청량을 지정하지 않으면 어떻게 되나?
컨테이너가 하나인 파드의 구성 파일은 다음과 같다. 컨테이너는
CPU 상한 지정하지만, 요청량은 지정하지 않는다.
다음은 컨테이너가 하나인 파드의 매니페스트이다.
해당 컨테이너는 CPU 상한 지정하지만, 요청량은 지정하지 않는다.
{{< codenew file="admin/resource/cpu-defaults-pod-2.yaml" >}}
@@ -95,14 +109,15 @@ CPU 상한을 지정하지만, 요청량은 지정하지 않는다.
kubectl apply -f https://k8s.io/examples/admin/resource/cpu-defaults-pod-2.yaml --namespace=default-cpu-example
```
파드 사양을 확인한다.
생성한 파드의
[명세](/ko/docs/concepts/overview/working-with-objects/kubernetes-objects/#오브젝트-명세-spec-와-상태-status)를 확인한다.
```
kubectl get pod default-cpu-demo-2 --output=yaml --namespace=default-cpu-example
```
출력 결과는 컨테이너의 CPU 요청량이 CPU 상한과 일치하도록 설정되었음을 보여준다.
참고로 컨테이너에는 CPU 요청량의 기본값인 0.5 cpu가 할당되지 않았다.
참고로 컨테이너에는 CPU 요청량의 기본값인 0.5 `cpu`가 할당되지 않았다.
```
resources:
@@ -114,8 +129,8 @@ resources:
## 컨테이너의 요청량은 지정하고, 상한을 지정하지 않으면 어떻게 되나?
컨테이너가 하나인 파드의 구성 파일은 다음과 같다. 컨테이너는
CPU 요청량 지정하지만, 상한은 지정하지 않다.
다음은 컨테이너가 하나인 파드의 예시 매니페스트이다.
해당 컨테이너는 CPU 요청량 지정하지만, 상한은 지정하지 않다.
{{< codenew file="admin/resource/cpu-defaults-pod-3.yaml" >}}
@@ -125,15 +140,16 @@ CPU 요청량을 지정하지만, 상한은 지정하지 않았다.
kubectl apply -f https://k8s.io/examples/admin/resource/cpu-defaults-pod-3.yaml --namespace=default-cpu-example
```
파드 사양을 확인한다.
생성한 파드의 명세를 확인한다.
```
kubectl get pod default-cpu-demo-3 --output=yaml --namespace=default-cpu-example
```
출력 결과는 컨테이너의 CPU 요청량이 컨테이너의 구성 파일에 지정된 값으로
설정되었음을 보여준다. 컨테이너의 CPU 상한은 1 cpu로 설정되며, 이는
네임스페이스의 CPU 상한 기본값이다.
출력을 보면 파드 생성 시 명시한 값대로
컨테이너의 CPU 요청량이 설정된 것을 알 수 있다(다시 말해, 매니페스트와 일치한다).
그러나, 해당 컨테이너의 CPU 상한은 1 `cpu`로 설정되며,
이는 네임스페이스의 CPU 상한 기본값이다.
```
resources:
@@ -145,15 +161,22 @@ resources:
## CPU 상한 및 요청량의 기본값에 대한 동기
네임스페이스에 [리소스 쿼터](/ko/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/)가 있는 경우,
네임스페이스에 {{< glossary_tooltip text="리소스 쿼터" term_id="resource-quota" >}}가
설정되어 있는 경우,
CPU 상한에 대해 기본값을 설정하는 것이 좋다.
다음은 리소스 쿼터가 네임스페이스에 적용하는 두 가지 제한 사항이다.
다음은 CPU 리소스 쿼터가 네임스페이스에 적용하는 두 가지 제한 사항이다.
* 네임스페이스에서 실행되는 모든 컨테이너에는 자체 CPU 상한이 있어야 한다.
* 네임스페이스의 모든 컨테이너가 사용하는 총 CPU 양은 지정된 상한을 초과하지 않아야 한다.
* 네임스페이스에서 실행되는 모든 파드에 대해, 모든 컨테이너에 CPU 상한이 있어야 한다.
* CPU 상한은 해당 파드가 스케줄링될 노드에 리소스 예약을 적용한다.
해당 네임스페이스의 모든 파드에 대해 예약된 CPU 총량이
지정된 상한을 초과하지 않아야 한다.
리밋레인지를 추가할 때에는 다음을 고려해야 한다.
컨테이너를 갖고 있는 해당 네임스페이스의 파드가 자체 CPU 상한을 지정하지 않았다면,
컨트롤 플레인이 해당 컨테이너에 CPU 상한 기본값을 적용하며,
해당 파드는 CPU 리소스쿼터가 적용된 네임스페이스에서 실행되도록 허용될 수 있다.
컨테이너가 자체 CPU 상한을 지정하지 않으면, 상한 기본값이 부여되고, 쿼터에
의해 제한되는 네임스페이스에서 실행될 수 있다.
## 정리