Sixth Korean l10n work for release-1.13 (#12705)
* ko: Update outdated files in dev-1.13-ko.6 (#12456) * Translate concepts/containers/runtime-class.md in Korean (#12459) * Fix ko translation consistency for commandlinetool word (#12626) * Added Korean localization guide (#12597) * Translate containers/images.md in Korean (#12549) * Translate container-lifecycle-hooks.md in Korean (#12534) * Translate tasks/run-application/horizontal-pod-autoscale in Korean (#12565) * Translate concepts/architecture/cloud-controller in Korean #11964 (#12483) * ko-trans: add setup/certificate.md #12453 (#12520) Co-authored-by: Claudia J.Kang <claudiajkang@gmail.com> Co-authored-by: June Yi <june.yi@samsung.com> Co-authored-by: Seokho <shsongist@gmail.com> Co-authored-by: Jesang Myung <jesang.myung@gmail.com> Co-authored-by: Kim Young Dae <38598117+zer0big@users.noreply.github.com> Co-authored-by: Yoon <learder@gmail.com>
This commit is contained in:
committed by
Kubernetes Prow Robot
parent
8f1e5e05e8
commit
aa6564e014
@@ -0,0 +1,116 @@
|
||||
---
|
||||
title: 런타임 클래스
|
||||
content_template: templates/concept
|
||||
weight: 20
|
||||
---
|
||||
|
||||
{{% capture overview %}}
|
||||
|
||||
{{< feature-state for_k8s_version="v1.12" state="alpha" >}}
|
||||
|
||||
이 페이지는 런타임 클래스 리소스와 런타임 선택 메커니즘에 대해서 설명한다.
|
||||
|
||||
{{% /capture %}}
|
||||
|
||||
|
||||
{{% capture body %}}
|
||||
|
||||
## 런타임 클래스
|
||||
|
||||
런타임 클래스는 파드의 컨테이너를 실행하는데 사용할 컨테이너 런타임 설정을 선택하기 위한
|
||||
알파 특징이다.
|
||||
|
||||
### 셋업
|
||||
|
||||
초기 알파 특징이므로, 런타임 클래스 특징을 사용하기 위해서는 몇 가지 추가 셋업
|
||||
단계가 필요하다.
|
||||
|
||||
1. 런타임 클래스 특징 게이트 활성화(apiservers 및 kubelets에 대해서, 버전 1.12+ 필요)
|
||||
2. 런타임 클래스 CRD 설치
|
||||
3. CRI 구현(implementation)을 노드에 설정(런타임에 따라서)
|
||||
4. 상응하는 런타임 클래스 리소스 생성
|
||||
|
||||
#### 1. 런타임 클래스 특징 게이트 활성화
|
||||
|
||||
특징 게이트 활성화에 대한 설명은 [특징 게이트](/docs/reference/command-line-tools-reference/feature-gates/)를
|
||||
참고한다. `RuntimeClass` 특징 게이트는 apiservers _및_ kubelets에서 활성화되어야
|
||||
한다.
|
||||
|
||||
#### 2. 런타임 클래스 CRD 설치
|
||||
|
||||
런타임 클래스 [CustomResourceDefinition][] (CRD)는 쿠버네티스 git 저장소의 애드온 디렉터리에서 찾을 수
|
||||
있다. [kubernetes/cluster/addons/runtimeclass/runtimeclass_crd.yaml][runtimeclass_crd]
|
||||
|
||||
`kubectl apply -f runtimeclass_crd.yaml`을 통해서 해당 CRD를 설치한다.
|
||||
|
||||
[CustomResourceDefinition]: /docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
|
||||
[runtimeclass_crd]: https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/runtimeclass/runtimeclass_crd.yaml
|
||||
|
||||
|
||||
#### 3. CRI 구현을 노드에 설정
|
||||
|
||||
런타임 클래스와 함께 선택할 설정은 CRI 구현에 의존적이다. 사용자의 CRI
|
||||
구현에 따른 설정 방법은 연관된 문서를 통해서 확인한다. 이것은 알파
|
||||
특징이므로, 아직 모든 CRI가 다중 런타임 클래스를 지원하지는 않는다.
|
||||
|
||||
{{< note >}}
|
||||
런타임 클래스는 클러스터 전체에 걸쳐 동질의 노드 설정
|
||||
(모든 노드가 컨테이너 런타임에 준하는 동일한 방식으로 설정되었음을 의미)을 가정한다. 어떠한 이질성(다양한
|
||||
설정)이라도
|
||||
스케줄링 특징을 통해서 런타임 클래스와는 독립적으로 관리되어야 한다([파드를 노드에
|
||||
할당하기](/docs/concepts/configuration/assign-pod-node/) 참고).
|
||||
{{< /note >}}
|
||||
|
||||
해당 설정은 상응하는 `RuntimeHandler` 이름을 가지며, 이는 런타임 클래스에 의해서 참조된다.
|
||||
런타임 핸들러는 유효한 DNS 1123 서브도메인(알파-숫자 + `-`와 `.`문자)을 가져야 한다.
|
||||
|
||||
#### 4. 상응하는 런타임 클래스 리소스 생성
|
||||
|
||||
3단계에서 셋업 한 설정은 연관된 `RuntimeHandler` 이름을 가져야 하며, 이를 통해서
|
||||
설정을 식별할 수 있다. 각 런타임 핸들러(그리고 선택적으로 비어있는 `""` 핸들러)에 대해서,
|
||||
상응하는 런타임 클래스 오브젝트를 생성한다.
|
||||
|
||||
현재 런타임 클래스 리소스는 런타임 클래스 이름(`metadata.name`)과 런타임 핸들러
|
||||
(`spec.runtimeHandler`)로 단 2개의 중요 필드만 가지고 있다. 오브젝트 정의는 다음과 같은 형태이다.
|
||||
|
||||
```yaml
|
||||
apiVersion: node.k8s.io/v1alpha1 # 런타임 클래스는 node.k8s.io API 그룹에 정의되어 있음
|
||||
kind: RuntimeClass
|
||||
metadata:
|
||||
name: myclass # 런타임 클래스는 해당 이름을 통해서 참조됨
|
||||
# 런타임 클래스는 네임스페이스가 없는 리소스임
|
||||
spec:
|
||||
runtimeHandler: myconfiguration # 상응하는 CRI 설정의 이름임
|
||||
```
|
||||
|
||||
|
||||
{{< note >}}
|
||||
런타임 클래스 쓰기 작업(create/update/patch/delete)은
|
||||
클러스터 관리자로 제한할 것을 권장한다. 이것은 일반적으로 기본 설정이다. 더 자세한 정보는 [권한
|
||||
개요](https://kubernetes.io/docs/reference/access-authn-authz/authorization/)를 참고한다.
|
||||
{{< /note >}}
|
||||
|
||||
### 사용
|
||||
|
||||
클러스터를 위해서 런타임 클래스를 설정하고 나면, 그것을 사용하는 것은 매우 간단하다. 파드 스펙에
|
||||
`runtimeClassName`를 명시한다. 예를 들면 다음과 같다.
|
||||
|
||||
```yaml
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: mypod
|
||||
spec:
|
||||
runtimeClassName: myclass
|
||||
# ...
|
||||
```
|
||||
|
||||
이것은 Kubelet이 지명된 런타임 클래스를 사용하여 해당 파드를 실행하도록 지시할 것이다. 만약 지명된
|
||||
런타임 클래스가 없거나, CRI가 상응하는 핸들러를 실행할 수 없는 경우, 파드는
|
||||
`Failed` 터미널 [단계](/ko/docs/concepts/workloads/pods/pod-lifecycle/#파드의-단계-phase)로 들어간다. 에러
|
||||
메시지를 위해서는 상응하는 [이벤트](/docs/tasks/debug-application-cluster/debug-application-introspection/)를
|
||||
확인한다.
|
||||
|
||||
만약 명시된 `runtimeClassName`가 없다면, 기본 런타임 핸들러가 사용될 것이다. 기본 런타임 핸들러는 런타임 클래스 특징이 비활성화되었을 때와 동일하게 동작한다.
|
||||
|
||||
{{% /capture %}}
|
||||
Reference in New Issue
Block a user