Kubernetes 기반 인프라 설계

Kubernetes 기반 인프라 설계


인프라는 어떻게 구성되어 있나요?

이 시스템은 클라우드 서비스 대신 자체 서버에서 운영되고 있습니다.

고성능 소형 서버(NUC)를 기반으로,
비용을 최소화하면서도 안정적인 운영이 가능하도록 구성되었습니다. ㅔ

  • 서버 사양: Intel i7 NUC / 32GB RAM / 1TB SSD
  • OS: Rocky Linux
  • DNS: Dynu 다이나믹 DNS + 유료 메일 서비스

모든 서비스는 Docker와 Kubernetes 기반으로 컨테이너화되어 있으며,
Ingress와 NodePort를 활용한 네트워크 구성,
Persistent Volume을 통한 데이터 보존,
실시간 모니터링과 자동 배포(CI/CD)까지 포함한
통합형 인프라 아키텍처로 설계되었습니다.


API 서버와 자동 배포는 어떻게 동작하나요?

API 서버는 Spring Boot로 개발되었으며,
클라이언트 요청에는 GraphQL API를 통해 응답합니다.
유연한 쿼리 설계로 다양한 콘텐츠를 구조적으로 제공할 수 있습니다.

서비스 배포는 다음과 같은 흐름으로 자동화되어 있습니다:

  1. Gitea 저장소에 코드 푸시 및 Github 백업
  2. Webhook을 통해 Jenkins CI가 자동 빌드 수행
  3. Docker 이미지 생성 및 배포
  4. Kubernetes Pod로 자동 적용

각 서비스는 별도의 CI 파이프라인과 Pod로 운영되어,
빠른 롤링 배포와 모듈화된 관리가 가능합니다.


서비스는 어떻게 나뉘어 있나요?

자동화 흐름

전체 프로젝트는 역할에 따라 명확하게 분리되어 있으며,
다음과 같은 도메인 구조로 운영됩니다:

구분도메인 주소
메인 홈페이지poten.co.kr
리뷰형 포스트 발행 프로세스item.poten.co.kr
주제형 포스트 발행 프로세스blog.poten.co.kr
수동형 포스트 발행 프로세스draft.poten.co.kr
정적 파일 CDNcdn.poten.co.kr
API 서버api.poten.co.kr
관리자 페이지admin.poten.co.kr

이렇게 서비스가 나뉘어 있음으로써,
운영, 콘텐츠, 관리 기능을 독립적으로 유지하고 있습니다.