[ko] Update outdated files in dev-1.23-ko.2 M60-73

This commit is contained in:
Jihoon Seo
2022-02-24 14:12:54 +09:00
parent 282d9b56d1
commit 2c535e2680
14 changed files with 248 additions and 238 deletions
@@ -2,21 +2,35 @@
title: 네임스페이스에 대한 기본 메모리 요청량과 상한 구성
content_type: task
weight: 10
description: >-
한 네임스페이스에 메모리 리소스 상한의 기본값을 정의하며,
이를 통해 미리 설정한 메모리 리소스 상한이 해당 네임스페이스의 새로운 파드에 설정되도록 한다.
---
<!-- overview -->
이 페이지는 네임스페이스에 대한 기본 메모리 요청량(request)과 상한(limit)을 구성하는 방법을 보여준다.
기본 메모리 상한이 있는 네임스페이스에서 컨테이너가 생성되고, 컨테이너가
자체 메모리 상한을 지정하지 않으면, 컨테이너에 기본 메모리 상한이 할당된다.
이 페이지는 {{< glossary_tooltip text="네임스페이스" term_id="namespace" >}}에 대한
기본 메모리 요청량(request) 및 상한(limit)을 구성하는 방법을 보여준다.
쿠버네티스 클러스터를 여러 네임스페이스로 나눌 수 있다.
기본 메모리 [상한](/ko/docs/concepts/configuration/manage-resources-containers/#요청-및-제한)이
설정되어 있는 네임스페이스에 파드를 생성했는데,
해당 파드의 모든 컨테이너에 메모리 상한이 명시되어 있지 않다면,
{{< glossary_tooltip text="컨트롤 플레인" term_id="control-plane" >}}이
해당 컨테이너에
기본 메모리 상한을 할당한다.
쿠버네티스는 이 문서의 뒷부분에서 설명하는 특정 조건에서 기본 메모리 요청량을 할당한다.
## {{% heading "prerequisites" %}}
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
{{< include "task-tutorial-prereqs.md" >}}
클러스터에 네임스페이스를 생성할 수 있는 권한이 있어야 한다.
클러스터의 각 노드에는 최소 2GiB의 메모리가 있어야 한다.
@@ -35,8 +49,9 @@ kubectl create namespace default-mem-example
## 리밋레인지(LimitRange)와 파드 생성
다음은 리밋레인지 오브젝트의 구성 파일이다. 구성은
메모리 요청량 기본값(default)과 메모리 상한 기본값을 지정한다.
다음은 예시 {{< glossary_tooltip text="리밋레인지" term_id="limitrange" >}}에 대한 매니페스트이다.
이 매니페스트는 기본 메모리 요청량 및
기본 메모리 상한을 지정한다.
{{< codenew file="admin/resource/memory-defaults.yaml" >}}
@@ -46,13 +61,14 @@ default-mem-example 네임스페이스에 리밋레인지를 생성한다.
kubectl apply -f https://k8s.io/examples/admin/resource/memory-defaults.yaml --namespace=default-mem-example
```
이제 컨테이너가 default-mem-example 네임스페이스에 생성고,
컨테이너가 메모리 요청량 및 메모리 상한에 대해 고유한 값을 지정하지 않으면,
컨테이너에 메모리 요청량 기본값 256MiB와 메모리 상한 기본값
512MiB 지정다.
이제 파드를 `default-mem-example` 네임스페이스에 생성고,
해당 파드의 어떤 컨테이너도 자체 메모리 요청량(request)과 상한(limit)을 명시하지 않으면,
컨트롤 플레인이 해당 컨테이너에 메모리 요청량 기본값(256 MiB)과
상한의 기본값(512 MiB)을 지정다.
컨테이너가 하나인 파드의 구성 파일은 다음과 같다. 컨테이너는
메모리 요청량 및 상한을 지정하지 않는다.
다음은 컨테이너가 하나인 파드의 매니페스트이다.
해당 컨테이너는 메모리 요청량과 상한을 지정하지 않는다.
{{< codenew file="admin/resource/memory-defaults-pod.yaml" >}}
@@ -91,8 +107,8 @@ kubectl delete pod default-mem-demo --namespace=default-mem-example
## 컨테이너 상한은 지정하고, 요청량을 지정하지 않으면 어떻게 되나?
컨테이너가 하나인 파드의 구성 파일은 다음과 같다. 컨테이너는
메모리 상한 지정하지만, 요청량은 지정하지 않는다.
다음은 컨테이너가 하나인 파드의 매니페스트이다.
해당 컨테이너는 메모리 상한 지정하지만, 요청량은 지정하지 않는다.
{{< codenew file="admin/resource/memory-defaults-pod-2.yaml" >}}
@@ -122,8 +138,8 @@ resources:
## 컨테이너의 요청량은 지정하고, 상한을 지정하지 않으면 어떻게 되나?
컨테이너가 하나인 파드의 구성 파일은 다음과 같다. 컨테이너는
메모리 요청량 지정하지만, 상한은 지정하지 않다.
다음은 컨테이너가 하나인 파드의 예시 매니페스트이다.
해당 컨테이너는 메모리 요청량 지정하지만, 상한은 지정하지 않다.
{{< codenew file="admin/resource/memory-defaults-pod-3.yaml" >}}
@@ -139,9 +155,9 @@ kubectl apply -f https://k8s.io/examples/admin/resource/memory-defaults-pod-3.ya
kubectl get pod default-mem-demo-3 --output=yaml --namespace=default-mem-example
```
출력 결과는 컨테이너의 메모리 요청량이 컨테이너의 구성 파일에 지정된 값으로
설정되었음을 보여준다. 컨테이너의 메모리 상한은 네임스페이스의
기본 메모리 상한인 512Mi로 설정되어 있다.
출력을 보면 컨테이너의 매니페스트에 명시한 값대로 컨테이너의 메모리 요청량이 설정된 것을 알 수 있다.
해당 컨테이너의 메모리 상한은 512 MiB로 설정되며,
이는 네임스페이스의 메모리 상한 기본값과 일치한다.
```
resources:
@@ -153,15 +169,23 @@ resources:
## 기본 메모리 상한 및 요청량에 대한 동기
네임스페이스에 리소스 쿼터가 있는 경우,
네임스페이스에 {{< glossary_tooltip text="리소스 쿼터" term_id="resource-quota" >}}가
설정되어 있는 경우,
메모리 상한에 기본값을 설정하는 것이 좋다.
다음은 리소스 쿼터가 네임스페이스에 적용하는 두 가지 제한 사항이다.
* 네임스페이스에서 실행되는 모든 컨테이너에는 자체 메모리 상한이 있어야 한다.
* 네임스페이스의 모든 컨테이너가 사용하는 총 메모리 양은 지정된 상한을 초과하지 않아야 한다.
* 네임스페이스에서 실행되는 모든 파드에 대해, 모든 컨테이너에 메모리 상한이 있어야 한다.
(파드의 모든 컨테이너에 대해 메모리 상한을 지정하면,
쿠버네티스가 파드 내의 컨테이너의 상한을 합산하여 파드-수준 메모리 상한을 추론할 수 있다.)
* 메모리 상한은 해당 파드가 스케줄링될 노드에 리소스 예약을 적용한다.
해당 네임스페이스의 모든 파드에 대해 예약된 메모리 총량이 지정된 상한을 초과하지 않아야 한다.
* 해당 네임스페이스의 모든 파드가 실제로 사용하고 있는 메모리의 총량 또한 지정된 상한을 초과하지 않아야 한다.
컨테이너가 자체 메모리 상한을 지정하지 않으면, 기본 상한이 부여되고,
쿼터에 의해 제한되는 네임스페이스에서 실행될 수 있다.
리밋레인지를 추가할 때에는 다음을 고려해야 한다.
컨테이너를 갖고 있는 해당 네임스페이스의 파드가 자체 메모리 상한을 지정하지 않았다면,
컨트롤 플레인이 해당 컨테이너에 메모리 상한 기본값을 적용하며,
해당 파드는 메모리 리소스쿼터가 적용된 네임스페이스에서 실행되도록 허용될 수 있다.
## 정리