Skip to content

Commit

Permalink
[ko] Translate /docs/tasks/administer-cluster/quota-api-object into K…
Browse files Browse the repository at this point in the history
…orean
  • Loading branch information
Kid-Chang committed Feb 3, 2024
1 parent ecd8212 commit ccc25fc
Show file tree
Hide file tree
Showing 4 changed files with 209 additions and 0 deletions.
178 changes: 178 additions & 0 deletions content/ko/docs/tasks/administer-cluster/quota-api-object.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
---
title: API 오브젝트에 대한 쿼터 구성
content_type: task
weight: 130
---


<!-- overview -->

이 페이지에서는 퍼시스턴트볼륨클레임(PersistentVolumeClaim) 및
서비스를 포함한 API 오브젝트에 대한 쿼터를 구성하는 방법을 설명한다.
쿼터는 네임스페이스에 생성할 수 있는
특정 유형의 오브젝트 수를 제한한다.
쿼터는 [리소스쿼터(ResourceQuota)](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#resourcequota-v1-core)
오브젝트에서 지정한다.




## {{% heading "prerequisites" %}}


{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}




<!-- steps -->

## 네임스페이스 생성

이 예제에서 생성하는 리소스가 클러스터의 나머지 부분과 격리되도록
네임스페이스를 생성한다.

```shell
kubectl create namespace quota-object-example
```

## 리소스쿼터 생성

리소스쿼터 오브젝트의 구성 파일은 다음과 같다.

{{% codenew file="admin/resource/quota-objects.yaml" %}}

리소스쿼터를 생성한다.

```shell
kubectl apply -f https://k8s.io/examples/admin/resource/quota-objects.yaml --namespace=quota-object-example
```

리소스쿼터에 대한 자세한 정보를 살펴본다.

```shell
kubectl get resourcequota object-quota-demo --namespace=quota-object-example --output=yaml
```

출력에 따르면 quota-object-example 네임스페이스가
최대 하나의 퍼시스턴트볼륨클레임, 최대 두 개의 로드밸런서 유형의 서비스를 가질 수 있으며, NodePort 유형의 서비스는
가질 수 없다.

```yaml
status:
hard:
persistentvolumeclaims: "1"
services.loadbalancers: "2"
services.nodeports: "0"
used:
persistentvolumeclaims: "0"
services.loadbalancers: "0"
services.nodeports: "0"
```
## 퍼시스턴트볼륨클레임 생성
퍼시스턴트볼륨클레임 오브젝트에 대한 구성 파일은 다음과 같다.
{{% codenew file="admin/resource/quota-objects-pvc.yaml" %}}
퍼시스턴트볼륨클레임을 생성한다.
```shell
kubectl apply -f https://k8s.io/examples/admin/resource/quota-objects-pvc.yaml --namespace=quota-object-example
```

퍼시스턴트볼륨클레임이 생성되었는지 확인한다.

```shell
kubectl get persistentvolumeclaims --namespace=quota-object-example
```

출력에 따르면 퍼시스턴트볼륨클레임이 존재하고 Pending 상태이다.

```
NAME STATUS
pvc-quota-demo Pending
```

## 두 번째 퍼시스턴트볼륨클레임 생성 시도

두 번째 퍼시스턴트볼륨클레임 오브젝트의 구성 파일은 다음과 같다.

{{% codenew file="admin/resource/quota-objects-pvc-2.yaml" %}}

두 번째 퍼시스턴트볼륨클레임 생성을 시도한다.

```shell
kubectl apply -f https://k8s.io/examples/admin/resource/quota-objects-pvc-2.yaml --namespace=quota-object-example
```

출력에 따르면 두 번째 퍼시스턴트볼륨클레임이 네임스페이스의 쿼터를 초과했기 때문에 생성되지 않았다.


```
persistentvolumeclaims "pvc-quota-demo-2" is forbidden:
exceeded quota: object-quota-demo, requested: persistentvolumeclaims=1,
used: persistentvolumeclaims=1, limited: persistentvolumeclaims=1
```

## 참고 사항

쿼터로 제한할 수 있는 API 리소스를 확인하는 데 사용되는 문자열은
다음과 같다.

<table>
<tr><th>문자열</th><th>API 오브젝트</th></tr>
<tr><td>"pods"</td><td>파드</td></tr>
<tr><td>"services"</td><td>서비스</td></tr>
<tr><td>"replicationcontrollers"</td><td>레플리케이션컨트롤러(ReplicationController)</td></tr>
<tr><td>"resourcequotas"</td><td>리소스쿼터</td></tr>
<tr><td>"secrets"</td><td>시크릿(Secret)</td></tr>
<tr><td>"configmaps"</td><td>컨피그맵(ConfigMap)</td></tr>
<tr><td>"persistentvolumeclaims"</td><td>퍼시스턴트볼륨클레임</td></tr>
<tr><td>"services.nodeports"</td><td>NodePort 유형의 서비스</td></tr>
<tr><td>"services.loadbalancers"</td><td>로드밸런서 유형의 서비스</td></tr>
</table>

## 정리

네임스페이스를 삭제한다.

```shell
kubectl delete namespace quota-object-example
```



## {{% heading "whatsnext" %}}


### 클러스터 관리자의 경우

* [네임스페이스에 대한 기본 메모리 요청량과 상한 구성](/ko/docs/tasks/administer-cluster/manage-resources/memory-default-namespace/)

* [네임스페이스에 대한 기본 CPU 요청량과 상한 구성](/ko/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace/)

* [네임스페이스에 대한 메모리의 최소 및 최대 제약 조건 구성](/ko/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace/)

* [네임스페이스에 대한 CPU의 최소 및 최대 제약 조건 구성](/ko/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace/)

* [네임스페이스에 대한 메모리 및 CPU 쿼터 구성](/ko/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/)

* [네임스페이스에 대한 파드 쿼터 구성](/ko/docs/tasks/administer-cluster/manage-resources/quota-pod-namespace/)

### 앱 개발자의 경우

* [컨테이너 및 파드 메모리 리소스 할당](/ko/docs/tasks/configure-pod-container/assign-memory-resource/)

* [컨테이너 및 파드 CPU 리소스 할당](/ko/docs/tasks/configure-pod-container/assign-cpu-resource/)

* [파드에 대한 서비스 품질(QoS) 구성](/ko/docs/tasks/configure-pod-container/quality-service-pod/)








11 changes: 11 additions & 0 deletions content/ko/examples/admin/resource/quota-objects-pvc-2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-quota-demo-2
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 4Gi
11 changes: 11 additions & 0 deletions content/ko/examples/admin/resource/quota-objects-pvc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-quota-demo
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 3Gi
9 changes: 9 additions & 0 deletions content/ko/examples/admin/resource/quota-objects.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
apiVersion: v1
kind: ResourceQuota
metadata:
name: object-quota-demo
spec:
hard:
persistentvolumeclaims: "1"
services.loadbalancers: "2"
services.nodeports: "0"

0 comments on commit ccc25fc

Please sign in to comment.