This is a stable feature in Kubernetes, and has been since version v1.35. It was first available in the v1.30 release. You can no longer disable or opt out of this feature or behavior (it is locked); if you explicitly set a value for the associated feature gate DynamicResourceAllocation, Kubernetes ignores it but does not report any error.
이 섹션에서는 쿠버네티스의 동적 리소스 할당(DRA) 을 소개한다.
DRA는 파드 간에 리소스를 요청하고 공유할 수 있도록 하는 쿠버네티스 기능이다. 이러한 리소스는 하드웨어 가속기와 같은 연결된 디바이스인 경우가 많다.
DRA를 사용하면 디바이스 드라이버와 클러스터 관리자가 워크로드에서 클레임 할 수 있는 디바이스 클래스 를 정의한다. 쿠버네티스는 특정 클레임에 조건이 일치하는 디바이스를 할당하고, 할당된 디바이스에 접근할 수 있는 노드에 해당 파드를 배치한다.
DRA를 사용한 리소스 할당은 동적 볼륨 프로비저닝과 유사한 방식으로 동작한다. 동적 볼륨 프로비저닝에서는 퍼시스턴트볼륨클레임(PersistentVolumeClaim)을 사용하여 스토리지 클래스에서 스토리지 용량을 클레임 하고, 클레임한 용량을 파드에서 사용할 수 있도록 요청한다.
DRA는 클러스터의 디바이스를 분류하고 요청하며 사용할 수 있는 유연한 방법을 제공한다. DRA를 사용하면 다음과 같은 이점이 있다.
이러한 이점 덕분에 DRA는 컨테이너별 디바이스 요청이 필요하고, 디바이스 공유와 표현식 기반 디바이스 필터링을 지원하지 않는 디바이스 플러그인보다 디바이스 할당 작업 흐름을 크게 개선한다.
DRA를 사용하여 디바이스를 할당하는 작업 흐름에는 다음 유형의 사용자가 참여한다.
디바이스 소유자: 디바이스를 책임진다. 디바이스 소유자는 상용 벤더, 클러스터 운영자 또는 다른 주체일 수 있다. DRA를 사용하려면 디바이스에 다음 작업을 수행하는 DRA 호환 드라이버가 있어야 한다.
클러스터 관리자: 클러스터와 노드 구성, 디바이스 연결, 드라이버 설치 등의 작업을 책임진다. DRA를 사용하려면 클러스터 관리자는 다음 작업을 수행한다.
워크로드 운영자: 클러스터에서 워크로드를 배포하고 관리하는 일을 책임진다. DRA를 사용하여 파드에 디바이스를 할당하려면 워크로드 운영자는 다음 작업을 수행한다.
Pending 상태로 유지된다.