Skip to content

BeeGuardians/Guardians-Infra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

426 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Guardians-Infra: GitOps 기반 하이브리드 클라우드 인프라 구성

🔧 프로젝트 개요

Guardians-Infra는 GitOps 방식으로 클라우드 클러스터와 온프레미스 클러스터를 통합 관리하는 하이브리드 Kubernetes 인프라입니다. 모든 설정은 Git 저장소에 선언적으로 저장되며, ArgoCD를 통해 자동으로 배포 및 동기화됩니다.


🧱 인프라 구성

📦 주요 스택

컴포넌트 설명
Spring Boot 백엔드 서비스
React (Vite) 프론트엔드 서비스
Nginx Ingress 진입 트래픽 라우팅
Grafana 대시보드 시각화
Prometheus 모니터링 수집기
Promtail + Loki 로그 수집 및 저장
Jenkins CI/CD 파이프라인
Vault 시크릿 관리 및 주입
PostgreSQL 관계형 데이터베이스
Redis 캐시 및 세션 저장소
Harbor 프라이빗 이미지 레지스트리
Rook-Ceph 고가용성 퍼시스턴트 스토리지

☁️ 클러스터 구성

🟦 Cloud Cluster

  • 위치: AWS EC2 기반 K8s 클러스터

  • 목적: 애플리케이션 및 웹 환경 호스팅

  • 주요 컴포넌트:

    • frontend/ – React 기반 UI
    • backend/ – Spring Boot 기반 API 서버
    • monitoring/ – Prometheus, Grafana, Promtail
    • nginx-ingress/ – Ingress Controller

🏠 On-Premise Cluster

  • 위치: 온프레미스 VM 기반 K8s 클러스터

  • 목적: 데이터/운영 인프라 및 보안 시스템 운영

  • 주요 컴포넌트:

    • harbor/ – 프라이빗 레지스트리
    • jenkins/ – CI 파이프라인
    • monitoring/ – Grafana, Prometheus
    • nginx-ingress/ – 내부 진입점
    • postgresql/, redis/, vault/ – 핵심 서비스
    • rook-ceph/ – 스토리지 백엔드 (Ceph 기반)

🧭 GitOps 디렉터리 구조

guardians-infra/
├── argocd-apps/ # ArgoCD 애플리케이션 선언
│   ├── root-app.yaml # 모든 앱을 트리 형식으로 관리
│   ├── backend.yaml
│   ├── frontend.yaml
│   ├── nginx-ingress.yaml
│   ├── cloud-prometheus.yaml
│   ├── cloud-promtail.yaml
│   ├── onpremise-nginx.yaml
│   ├── postgresql.yaml
│   ├── redis.yaml
│   ├── harbor.yaml
│   ├── jenkins.yaml
│   ├── vault.yaml
│   └── rook-ceph.yaml
├── cloud-cluster/ # 클라우드 클러스터 앱 리소스
│   ├── backend/
│   ├── frontend/
│   ├── monitoring/
│   └── nginx-ingress/
├── onpremise-cluster/ # 온프레미스 클러스터 앱 리소스
│   ├── harbor/
│   ├── jenkins/
│   ├── monitoring/
│   ├── nginx-ingress/
│   ├── postgresql/
│   ├── redis/
│   ├── rook-ceph/
│   └── vault/
└── README.md

🚀 GitOps Workflow

  1. 모든 클러스터 구성 및 앱 설정은 Git 저장소에 선언적으로 관리됩니다.
  2. ArgoCD는 argocd-apps/root-app.yaml을 기준으로 모든 앱을 계층적으로 동기화합니다.
  3. 변경 사항은 Git 커밋 → ArgoCD 자동 배포 → 클러스터 반영 흐름으로 이루어집니다.

🛡️ 보안 및 고가용성 전략

  • Vault + AppRole: Spring 앱에 비밀 자동 주입
  • Rook-Ceph: 다중 노드 기반 고가용성 스토리지 구성
  • Harbor: 이미지 스캔과 인증 기반 private registry 운영
  • NetworkPolicy: 칼리-Pod에서 워게임-Pod로만 통신 허용
  • Prometheus + Grafana + Loki: 모니터링 및 로그 수집 시각화

📘 향후 계획

  • ArgoCD Notifications 연동 (Slack)
  • GitHub Actions 기반 CI와 연계
  • 사용자 워게임 환경 자동 생성 및 삭제 자동화 고도화

이 저장소는 Guardians 팀의 하이브리드 클라우드 기반 보안 훈련 플랫폼 인프라를 GitOps 방식으로 관리합니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •