diff --git a/content/ko/docs/tasks/administer-cluster/quota-api-object.md b/content/ko/docs/tasks/administer-cluster/quota-api-object.md new file mode 100644 index 0000000000..3e9b9154d9 --- /dev/null +++ b/content/ko/docs/tasks/administer-cluster/quota-api-object.md @@ -0,0 +1,178 @@ +--- +title: API 오브젝트에 대한 쿼터 구성 +content_type: task +weight: 130 +--- + + + + +이 페이지에서는 퍼시스턴트볼륨클레임(PersistentVolumeClaim) 및 +서비스를 포함한 API 오브젝트에 대한 쿼터를 구성하는 방법을 설명한다. +쿼터는 네임스페이스에 생성할 수 있는 +특정 유형의 오브젝트 수를 제한한다. +쿼터는 [리소스쿼터(ResourceQuota)](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#resourcequota-v1-core) +오브젝트에서 지정한다. + + + + +## {{% heading "prerequisites" %}} + + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + + + + + + +## 네임스페이스 생성 + +이 예제에서 생성하는 리소스가 클러스터의 나머지 부분과 격리되도록 +네임스페이스를 생성한다. + +```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 리소스를 확인하는 데 사용되는 문자열은 +다음과 같다. + +
문자열 | API 오브젝트 |
---|---|
"pods" | 파드 |
"services" | 서비스 |
"replicationcontrollers" | 레플리케이션컨트롤러(ReplicationController) |
"resourcequotas" | 리소스쿼터 |
"secrets" | 시크릿(Secret) |
"configmaps" | 컨피그맵(ConfigMap) |
"persistentvolumeclaims" | 퍼시스턴트볼륨클레임 |
"services.nodeports" | NodePort 유형의 서비스 |
"services.loadbalancers" | 로드밸런서 유형의 서비스 |