322
쿠버네티스 창시자에게 배우는 모범 사례 2판
지금까지 기존 애플리케이션을 확장하고 개발자가 모범 사례를 준수하도록 유도하는 방법
을 설명했지만, 아직 더 고수준의 추상화를 덧붙이는 방법은 언급하지 않았다. 이것이 바로
CRD
가 하는 일이다.
CRD
는 기존 쿠버네티스 클러스터에 새로운 리소스를 다이나믹하게 추
가하는 수단이다.
예를 들어,
ReplicatedService
라는 새로운 리소스를 쿠버네티스 클러스터에 추가한다고 하
자. 개발자가
ReplicatedService
인스턴스를 생성하면 쿠버네티스는 해당 디플로이먼트와
서비스 리소스를 생성할 것이다. 즉,
ReplicatedService
는 어떤 공통 패턴에 맞게 개발자가
간편하게 쓸 수 있도록 추상화한 결과물이다. 이와 같은 새로운 리소스 타입을 관리하기 위
해 일반적으로
CRD
는 클러스터 자체에 배포된 제어 루프를 사용해서 구현한다.
15.2.2
쿠버네티스
UX
확장
클러스터에 신기능을 제공하기 위해 신규 리소스를 추가하는 것도 좋은 방법이지만, 쿠버네
티스의
UX
도 함께 확장하면 좀 더 효과적이다. 쿠버네티스 툴은 기본적으로 커스텀 리소스
와 여타 익스텐션을 인식하지 못하며, 그런 것들을 아주 제네릭하게 취급하고 그리 유저 친
화적이지 않은 방식으로 처리한다. 따라서 쿠버네티스 커맨드라인
command
line
을 확장하면
UX
를 개선할 수 있다.
보통 쿠버네티스에 액세스하는 커맨드-라인 툴은
kubectl
인데, 다행히 이 툴은 확장성을 고
려하여 개발되었다.
kubectl
플러그인은 ...