AI 에이전트 런타임과 RL 워크로드를 위한 격리된 상태 저장 단일 Pod 샌드박스를 관리하는 Kubernetes 컨트롤러 및 CRD입니다.
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
이 라이브러리를 기반으로 하는 Kubebuilder 또는 Operator SDK로 시작하세요(Kubebuilder 빠른 시작 참고).
사용 전 알아둘 점
- 이 프로젝트는 메이저 버전 0을 유지하며, 마이너 버전 간에 호환성을 깨는 변경이 있을 수 있습니다.
- 각 마이너 버전은 특정 client-go 버전과 최소 Go 버전을 대상으로 하므로, Kubernetes 종속 항목과 버전을 맞춰야 합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- 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 통계는 매일 갱신됩니다.
관련 프로젝트
controller-runtime 기반의 고수준 API, 스캐폴딩, 코드 생성을 제공하는 Kubernetes Operator 개발용 Go SDK입니다.
임시 컨테이너로 자체 호스팅 GitHub Actions runner를 실행하고 자동 확장하는 Kubernetes operator입니다.
RayCluster, RayJob, RayService 리소스를 통해 Ray 애플리케이션을 배포하고 관리하는 Kubernetes 오퍼레이터입니다.
AI 백엔드를 사용해 클러스터 문제를 진단하고, 선택적으로 이미지 풀 실패를 자동으로 복구하도록 K8sGPT를 배포하고 관리하는 Kubernetes operator입니다.
GPU 노드에 LLM 추론, 파인튜닝, RAG 서비스를 자동 배포하는 Kubernetes 오퍼레이터 제품군입니다.