728x90
[K8s][CKS] 런타임 클래스 (runtime class)
CKS 공부를 하면서 몰랐던 개념들을 정리
컨테이너 런타임
파드가 노드에서 실행될 수 있도록 하기위해선 클러스터의 각 노드에 컨테이너 런타임을 설치해야한다.
쿠버네티스 1.30에서는 컨테이너 런타임 인터페이스(CRI) 요구사항을 만족하는 런타임을 사용해야 한다.
공용 컨테이너 런타임은 다음과 같다.
런타임 클래스
서로 다른 파드간에 런타임클래스를 설정하여 성능과 보안의 균형을 유지할 수 있다.
예를 들어 하드웨어 가상화를 이용하는 컨테이너 런타임으로 파드를 실행하도록 예약할 수 있다.
또한, 런타임 클래스를 사용하여 컨테이너 런타임이 같으나 설정이 다른 여러 파드를 실행할 수 있다.
1. CRI 구현을 노드에 설정
런타임 클래스를 통한 구성은 컨테이너 런타임 인터페이스 (CRI) 구현에 의존적이다.
해당 설정은 상응하는 handler 이름을 가지며, 이는 런타임 클래스에 의해서 참조된다.
핸들러는 유효한 DNS 1123 서브도메인을 가져야 한다.
2. 상응하는 런타임 클래스 리소스 생성
1단계에서 확인된 런타임 핸들러에 대해서 상응하는 런타임 클래스 오브젝트를 생성한다.
# 런타임클래스는 node.k8s.io API 그룹에 정의되어 있음
apiVersion: node.k8s.io/v1
kind: RuntimeClass
metadata:
# 런타임클래스 참조에 사용될 이름
# 런타임클래스는 네임스페이스가 없는 리소스임
name: myclass
# 상응하는 CRI 설정의 이름
handler: myconfiguration
3. 사용
클러스터에 런타임 클래스를 설정하고 나면, 다음과 같이 파트 스펙에 명시하여 해당 런타임 클래스를 사용할 수 있다.
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
runtimeClassName: myclass
# ...
kubelet이 지명된 런타임 클래스를 사용하여 해당 파드를 실행하도록 지시한다.
참고
https://kubernetes.io/ko/docs/concepts/containers/runtime-class/
반응형
'🐳 Container > K8S' 카테고리의 다른 글
[K8s][CKS] TLS (Cipher-Suites) (0) | 2024.05.23 |
---|---|
[K8s][CKS] Kube-bench (0) | 2024.05.21 |
[K8s] Storage Class (0) | 2024.04.29 |
[K8s] PV(Persistent Volume), PVC(Persistent Volume Claim) (0) | 2024.04.26 |
[K8s] kubeconfig를 사용하여 다중 클러스터 접근 구성하기 (0) | 2024.04.25 |