Project Detail

Coconut
클라우드 인프라 협업 프로젝트

GCP 기반 Kubernetes 환경 위에 ArgoCD를 중심으로 GitOps, 웹 배포, 모니터링, HPA, etcd 백업을 묶어 협업형 클라우드 인프라를 구성한 팀 프로젝트입니다.

발표자료 기준으로 저는 HPA와 백업을 맡았습니다. 각 파드의 CPU·메모리 사용량에 따른 스케일링을 확인하고, cronjob·etcd·Rclone을 이용한 주기적 백업과 Google Drive 자동 백업 환경을 구축했습니다.

팀 Coconut GCP Kubernetes ArgoCD HPA etcd Backup

한눈에 보기

  • GCP VM 기반 1 master, 3 node Kubernetes 환경 구축
  • GitHub Organization과 ArgoCD로 협업형 GitOps 구성
  • Ingress-nginx, MariaDB, PHP 웹 서비스 배포
  • Prometheus/Grafana/Slack 관제와 HPA·백업 자동화 연동

무엇을 만들었는가

수업시간에 배운 기술을 하나의 실제 협업 환경으로 묶는 것이 목표였습니다.

기반 인프라

GCP에 Kubernetes 환경을 만들고, ArgoCD를 배치해 GitHub 변경사항이 배포 환경으로 자동 동기화되는 구조를 구축했습니다.

GCP VM, ArgoCD, GitHub Organization, Portainer, Headlamp

웹 서비스와 라우팅

ingress-nginx 라우팅 규칙과 MariaDB + PHP 컨테이너 환경을 통해 로그인·회원가입·수정 기능이 있는 웹 서비스를 올렸습니다.

분리된 네임스페이스를 통한 팀별 역할 분담

운영 기능

모니터링, HPA, etcd 백업, Rclone 자동 백업을 결합해 단순 배포보다 운영 안정성에 초점을 맞췄습니다.

가용성과 협업 가능성을 함께 본 프로젝트

1 + 3 master 1대 / node 3대
GCP 클러스터
62.5% HPA 및 백업 파트
자체평가 완성도
71.4% 기본 인프라·GitOps 파트
자체평가 완성도
57.1% 모니터링 파트
자체평가 완성도

어떻게 접근했는가

실습용 기능을 개별적으로 만드는 대신, 팀 협업이 가능한 배포 흐름으로 묶었습니다.

My Role

HPA와 백업 자동화

  • CPU·메모리 리소스 사용량에 따라 파드 수가 증감하는지 확인
  • edit, login, regist, app 서비스에 HPA를 적용
  • cronjob으로 etcd 백업을 주기적으로 수행
  • Rclone으로 Google Drive까지 자동 백업하도록 확장
GitOps

ArgoCD 중심 협업 구조

GitHub Organization에서 팀원별 폴더를 분리하고, ArgoCD가 각 폴더를 다른 네임스페이스에 배포하도록 설계했습니다. 이를 통해 한 클러스터 안에서도 역할별 구성 요소를 나누어 실험했습니다.

Coconut의 핵심은 기술 스택 나열이 아니라, 배포·모니터링·백업을 각자 맡아도 한 시스템으로 합쳐지는 협업 흐름을 만들었다는 점입니다.
Backup

단순 스냅샷이 아닌 자동화

  • etcd 백업 수행
  • cronjob 기반 주기적 스케줄링
  • Rclone을 통한 Google Drive 자동 백업
  • 삭제 후에도 자동 백업이 다시 생성되는 동작 확인
Learned Constraints

구현하면서 드러난 한계

  • 구체적인 협업 가이드라인과 브랜치 전략 부족
  • YAML 구성이 맞아도 실제 배포 문제는 별도로 발생 가능
  • Velero 기반 복구 자동화, 실제 복구 리허설은 후속 과제로 남음

결과와 의의

배포 자체보다, 운영 가능성과 팀 협업성을 함께 학습했다는 점이 중요합니다.

주요 결과

  • GCP와 ArgoCD 기반 GitOps 환경을 실제로 구성했습니다.
  • Ingress-nginx, MariaDB, PHP 웹 서비스 흐름을 실습 환경에 맞게 배포했습니다.
  • 리소스 부하에 따른 파드 증감과 etcd 백업 동작을 확인했습니다.
  • 드라이브 이중 백업으로 안정성 향상 방향을 검토했습니다.

프로젝트가 남긴 것

  • 인프라와 운영 자동화는 협업 가이드와 함께 설계되어야 한다는 점
  • 단일 기능 구현보다, 배포·백업·관제를 함께 보는 시각이 중요하다는 점
  • 문서화, 브랜치 전략, 장애 원인 파악 능력이 후속 성장 포인트라는 점
정리
Coconut은 배포 실습 과제가 아니라, Kubernetes 운영 요소들을 팀 단위 협업 환경으로 묶어본 첫 인프라 프로젝트라는 점에서 의미가 있습니다.

관련 자료

현재 페이지는 발표 자료를 바탕으로 다시 정리했습니다.

kt 클라우드 인프라 1차 프로젝트 (1).pdf

팀 프로젝트 발표 자료

프로젝트 개요, 역할 분담, GCP/ArgoCD 구조, ingress, HPA, etcd 백업, monitoring, 자체 평가 내용을 포함하는 핵심 문서입니다.