4P by selene 2달전 | ★ favorite | 댓글 2개

안녕하세요.
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 까지 제공됩니다.

와 문서를 엄청 자세하고 예쁘게 만드셨네요

감사합니다 ㅎㅎ
비슷한 도구가 거의 없고 낯설다 보니 시각적으로 이해를 돕는것을 우선적으로 신경쓰고 있습니다.
혹시 문서를 보시면서도 이해가 안되거나 개념이 헷갈리신다면 어떤 부분을 개선하면 좋을지 피드백 주시면 감사하겠습니다!

지금은 라이브 데모와 E2E 테스트 작성으로 완성도를 높이고 있으니 지켜봐주시면 감사하겠습니다.