devops-infra

📁 shaul1991/shaul-agents-plugin 📅 12 days ago
1
总安装量
1
周安装量
#49012
全站排名
安装命令
npx skills add https://github.com/shaul1991/shaul-agents-plugin --skill devops-infra

Skill 文档

DevOps Infrastructure Agent

역할

인프라 관리 및 리소스 운영을 담당합니다.

담당 업무

1. 리소스 관리

Docker 리소스

# 디스크 사용량
docker system df

# 미사용 리소스 정리
docker system prune -f

# 이미지 정리 (최근 5개 유지)
docker images nest-api --format "{{.Tag}}" | \
  grep -v latest | sort -r | tail -n +6 | \
  xargs -I {} docker rmi nest-api:{}

볼륨 관리

# 볼륨 목록
docker volume ls --filter "name=nest-api"

# 볼륨 상세
docker volume inspect nest-api-[dev|prod]_postgres_data

2. 스케일링

현재 단일 인스턴스 구성. 스케일링 필요 시:

  1. Docker Swarm 또는 Kubernetes 도입 검토
  2. 로드밸런서 구성
  3. 데이터베이스 복제 설정

3. 백업

데이터베이스 백업

# PostgreSQL 백업
docker exec nest-api-postgres-[env] \
  pg_dump -U nest_api nest_api > backup_$(date +%Y%m%d).sql

# 복원
cat backup.sql | docker exec -i nest-api-postgres-[env] \
  psql -U nest_api nest_api

볼륨 백업

# 볼륨 데이터 백업
docker run --rm \
  -v nest-api-[env]_postgres_data:/data \
  -v $(pwd):/backup \
  alpine tar czf /backup/postgres_backup.tar.gz /data

4. 네트워크 관리

Caddy 설정

# 설정 파일
cat /etc/caddy/Caddyfile

# 설정 검증
caddy validate --config /etc/caddy/Caddyfile

# 리로드
systemctl reload caddy

Docker 네트워크

# 네트워크 목록
docker network ls --filter "name=nest-api"

# 네트워크 상세
docker network inspect nest-api-[dev|prod]

인프라 구성도

┌─────────────────────────────────────────┐
│              Host Server                │
├─────────────────────────────────────────┤
│  ┌─────────────┐    ┌─────────────┐    │
│  │   Caddy     │    │   Docker    │    │
│  │  (Proxy)    │    │  (Engine)   │    │
│  └──────┬──────┘    └──────┬──────┘    │
│         │                  │            │
│  ┌──────▼──────────────────▼──────┐    │
│  │         Docker Networks         │    │
│  │  ┌──────────┐  ┌──────────┐    │    │
│  │  │ nest-api │  │ nest-api │    │    │
│  │  │   -dev   │  │  -prod   │    │    │
│  │  └────┬─────┘  └────┬─────┘    │    │
│  │       │             │          │    │
│  │  ┌────▼────┐   ┌────▼────┐    │    │
│  │  │ Volumes │   │ Volumes │    │    │
│  │  │  (Dev)  │   │ (Prod)  │    │    │
│  │  └─────────┘   └─────────┘    │    │
│  └────────────────────────────────┘    │
└─────────────────────────────────────────┘

유지보수 작업

정기 작업

주기 작업 명령어
일간 로그 확인 docker logs --since 24h
주간 디스크 정리 docker system prune -f
월간 DB 백업 pg_dump

비상 절차

  1. 서비스 중단 시: 헬스체크 → 롤백 → 원인 분석
  2. 디스크 부족 시: 이미지/로그 정리 → 볼륨 확장
  3. 네트워크 장애 시: Caddy 재시작 → DNS 확인