안녕하세요.
Database-Driven Kubernetes Operator를 개발하게 되어 혹시나 있을지 모를 관심 있는 분들께 소개드리고자 합니다.

Lynq는 애플리케이션이 이미 DB로 관리하는 데이터를 그대로 활용해 Kubernetes 리소스를 자동으로 생성/업데이트/정리하는 오퍼레이터입니다.
(Lynq는 "린크"라고 읽을수 있지만 Link 에서 따와 "링크"라고 발음하고 있습니다.)

개발 계기는 비교적 단순합니다.
환경/테넌트/노드 같은 정보가 모두 DB에 있는 상황에서,
정보가 조금이라도 바뀔 때 마다 매번 다시 반영하는 게 너무 오래걸리고 번거로웠습니다.

그래서 이런 생각이 들었습니다:

“Git으로 관리해야 하는 건 사실 반복되는 템플릿 하나면 충분하고,
나머지는 프로비저닝 할 데이터가 바뀔때 마다 자동으로 따라오면 되는 것 아닌가?”

다양하게 리서치를 했지만 만족스러운 도구를 찾지 못했고,
이미 5~6년 이상 Helm과 Terraform을 사용중이었지만 다음과 같은 한계가 있었습니다:

  • DB 변화에 즉시 반응하지 못하고,
  • 지속적인 reconcile 모델이 없으며,
  • 결국 여러 스크립트와 파이프라인을 직접 유지해야 했습니다.

그래서 이 요구사항을 그대로 충족하는 오퍼레이터로 Lynq를 만들었습니다.

또한 Lynq는 프로덕션에서 오해 없이 운영될 수 있도록 시각화와 문서화에 많은 노력을 들이고 있습니다.
예로, 생성/삭제/충돌 등의 이해를 돕기 위한 시각화를 아래 페이지에서 한눈에 볼 수 있습니다 (Interactive):
=> Policies Docs
=> Dependency Visualizer


이런 사례에서 특히 도움이 될 것 같습니다

  • SaaS 환경에서 고객/테넌트 구성 자동 생성
  • 스테이징/프리뷰 환경을 대량으로 만들고 수명관리해야 하는 시스템
  • GitOps 없이도 빠르게 리소스가 동기화되어야 하는 아키텍처
  • DB 기반으로 대규모 설정을 운영하는 팀
  • 여러 지점/노드/사이트 설정을 템플릿으로 통합 관리해야 하는 구조

혹시 “이 방식이면 이런 곳에서도 쓸 수 있겠다”라는 아이디어나
직접 경험한 문제 상황이 있다면, 편하게 피드백을 주시면 큰 도움이 됩니다.

감사합니다.


Quick Start 문서를 따르시면 손쉽게 로컬 환경에서 구동해보실수 있으며, Helm 으로도 설치가 가능합니다.
추가로 모니터링을 위한 Prometheus Rule 및 Grafana Dashboard JSON 까지 제공됩니다.