본문으로 건너뛰기

Kubebuilder를 사용한 Kubernetes operator 개발 가이드

설치

Project 생성

Go # Setup을 참고하여 Go 모듈을 초기화합니다.

kubebuilder init --domain <domain>
  • --domain <domain>
    • API 그룹의 도메인 이름을 지정합니다.
    • apiVersion으로 <group>.<domain>/<version> 형식이 사용됩니다.

API 생성

apiVersion: <group>.<domain>/<version>
kind: <kind>
metadata:
# ...
spec:
# ...

위와같은 형식의 Kubernetes API를 생성하려면 다음과 같이 진행하면 됩니다.

kubebuilder create api --group <group> --version <version> --kind <kind>
  • --resource
    • api/<version>/<kind>_types.go 파일을 생성합니다.
  • --controller
    • internal/controller/<kind>_controller.go 파일을 생성합니다.
    • cmd/main.go 파일에 컨트롤러를 등록합니다.