sangw0804 / study-docker

0 stars 1 forks source link

12 커스텀 리소스와 컨트롤러 #13

Open jihyuunn opened 3 years ago

jihyuunn commented 3 years ago

컨트롤러 개념과 동작방식

커스텀 리소스?

포드, 디플로이먼트, 서비스와 같은 리소스를 만드는 것. 프론트 디플로이먼트 + 백엔드 디플로이먼트 + 데이터베이스 디플로이먼트 를 하나로 묶어서 새로운 리소스로 만들 수도 있다. 지금까지 사용한 리소스 제어방법을 새로운 리소스에도 그대로 적용 가능

  1. 커스텀 리소스에 대한 바람직한 상태로 변화시킬 수 있는 컨트롤러 구현하고, 실행
  2. 커스텀 리소스의 상세 정보를 정의하는 CRD(custom resource definition) 리소스 생성
  3. crd에 정의된 데이터에 맞춰 커스텀 리소스 생성
  4. 1번에서 실행한 컨트롤러는 커스텀 리소스의 생성 감지하고 바람직한 상태가 되도록 적절한 작업 실행

커스텀 리소스에 대한 정의(복수형 이름, 단수형 이름, yaml파일에서 kind에 사용될 단어, 줄임말 등등) crd를 통해 쿠버네티스에 등록하면 리소스로 사용할 수 있다 하지만 컨트롤러를 통해 특정 동작을 수행하도록 정의해야 리소스가 의미를 갖는다. 근데 컨트롤러를 개발하는 것은 어렵다..? operator SDK나 KubeBuilder같은 프레임워크로 만들 수 있다...?