반응형
CRD (Custom Resource Definition)
쿠버네티스에서 새로운 유형의 리소스를 만들기 위한 정의 파일. 즉, 쿠버네티스 리소스를 선언할때 사용되는 Kind부분에 명시되는 요소.
# jaeyung.yaml
apiVersion: "extension.example.com/v1"
kind: Jaeyung
metadata:
name: Jaeyung-container
...
위와같은 쿠버네티스 정의 yaml파일을 적용하게되면 당연히 Jaeyung이라는 리소스는 존재하지않는다 라는 에러가 발생함. 따라서 CRD를 통해서 Jaeyung이라는 리소스를 정의 할 수 있음.
CR (Custom Resource)
위에서 얘기한 Jaeyung 이 이제 CR로 해석될수있음.
오퍼레이터 (Operator)
CRD는 단순히 리소스에 대한 정의를 세울뿐, 동작에 대한 요소는 포함되지않음. 따라서 동작을 위한 정의를 세우기 위해 오퍼레이터를 선언함.
개발에 사용되는 언어는 기본적으로 Golang이며 (Helm, Ansible도 제공하지만 비주류인듯), operator-sdk 툴을 이용해서 프로젝트 생성하는걸로 이해함.
그래서 쿠버네티스 개발을 위해서라면 Golang을 공부해야할것같음.
특정 리소스에 대한 동작을 컨트롤러(Controller)라고 하는데, 쿠버네티스 개발자가 아닌이상 컨트롤러를 개발하기는 어렵고 이에 대응하는 오퍼레이터를 개발하는것 같음.
Golang
Twitch, Uber, Paypal등 큰 기업의 서비스가 Golang으로 제작되었음.
- 온라인에서 Golang을 컴파일할수있는 URL
반응형
'TIL > 개인공부' 카테고리의 다른 글
[Kubernetes] k8s관련 끄적끄적 (1) | 2024.10.30 |
---|---|
[Python] 파이썬 클래스 던더(dunder) 메소드 (0) | 2024.08.15 |
[Github Action] 특정 job 비활성화 시키기 (0) | 2023.07.14 |
[Python] nohup으로 python코드 실행시 python 로그 찍히게하기 (0) | 2023.03.27 |
[bash] shebang이란? (0) | 2023.02.07 |