Repolode
kubernetes-sigs

kubernetes-sigs/controller-runtime

Kubernetes 컨트롤러와 오퍼레이터를 구축하기 위한 Go 라이브러리 모음으로, Kubebuilder와 Operator SDK의 기반으로 사용됩니다.

스타
2,988
포크
1,333
열린 이슈
69
마지막 커밋
그저께

어떤 프로젝트인가요?

controller-runtime은 Kubernetes 컨트롤러를 작성하기 위한 Go 라이브러리 모음입니다. 컨트롤러는 클러스터 리소스를 감시하고, API에 선언된 원하는 상태와 실제 상태가 일치하도록 조정합니다. 이 라이브러리는 컨트롤러를 실행하는 manager, watch와 reconcile 루프를 연결하는 builder, 객체를 읽고 쓰는 client 등 이 패턴에 필요한 공통 기반 기능을 제공합니다.

이 프로젝트는 새 오퍼레이터를 스캐폴딩할 때 주로 사용하는 진입점인 Kubebuilder와 Operator SDK의 공통 런타임입니다. Go를 사용해 직접 컨트롤러를 만드는 개발자는 informer와 work queue 코드를 직접 작성하는 대신 일반적으로 이 패키지들을 가져와 사용합니다. 버전은 Kubernetes 마이너 릴리스와 연동되며, 각 controller-runtime 릴리스에 대응하는 client-go 버전과 최소 Go 버전을 호환성 표에서 확인할 수 있습니다.

핵심 기능

  • 01여러 컨트롤러를 실행하고 조정하는 manager
  • 02watch와 reconcile 로직을 선언하는 Builder API
  • 03Kubernetes 객체를 읽고 쓰는 캐시된 client
  • 04webhook 및 leader election 지원
  • 05릴리스별 client-go 및 Go 버전을 연결한 호환성 표

활용 사례

  • Go로 커스텀 Kubernetes 오퍼레이터 구축
  • 커스텀 리소스 정의를 조정하는 컨트롤러 작성
  • Kubebuilder로 생성한 프로젝트에 추가 컨트롤러 로직 확장

빠른 시작

  1. 1

    이 라이브러리를 기반으로 하는 Kubebuilder 또는 Operator SDK로 시작하세요(Kubebuilder 빠른 시작 참고).

사용 전 알아둘 점

  • 이 프로젝트는 메이저 버전 0을 유지하며, 마이너 버전 간에 호환성을 깨는 변경이 있을 수 있습니다.
  • 각 마이너 버전은 특정 client-go 버전과 최소 Go 버전을 대상으로 하므로, Kubernetes 종속 항목과 버전을 맞춰야 합니다.

포함된 컬렉션

토픽

#kubernetes#golang#operator#controller#k8s-api#cloud-native#k8s-sig-api-machinery

자주 묻는 질문

controller-runtime은(는) 무엇인가요?
Kubernetes 컨트롤러와 오퍼레이터를 구축하기 위한 Go 라이브러리 모음으로, Kubebuilder와 Operator SDK의 기반으로 사용됩니다. controller-runtime은 Kubernetes 컨트롤러를 작성하기 위한 Go 라이브러리 모음입니다. 컨트롤러는 클러스터 리소스를 감시하고, API에 선언된 원하는 상태와 실제 상태가 일치하도록 조정합니다. 이 라이브러리는 컨트롤러를 실행하는 manager, watch와 reconcile 루프를 연결하는 builder, 객체를 읽고 쓰는 client 등 이 패턴에 필요한 공통 기반 기능을 제공합니다.
controller-runtime은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
controller-runtime은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
controller-runtime은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. controller-runtime의 마지막 커밋은 2026년 11월 5일입니다.
controller-runtime은(는) 어디에 사용할 수 있나요?
Go로 커스텀 Kubernetes 오퍼레이터 구축 커스텀 리소스 정의를 조정하는 컨트롤러 작성 Kubebuilder로 생성한 프로젝트에 추가 컨트롤러 로직 확장
controller-runtime는 어떻게 설치하나요?
이 라이브러리를 기반으로 하는 Kubebuilder 또는 Operator SDK로 시작하세요(Kubebuilder 빠른 시작 참고).
controller-runtime은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/kubernetes-sigs/controller-runtime

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트