kine 백업 파이프라인 추가 (Supabase PostgreSQL → NAS → R2)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: 백업 파이프라인
|
||||
updated: 2026-03-22
|
||||
updated: 2026-03-25
|
||||
tags: [infra, backup]
|
||||
---
|
||||
|
||||
@@ -54,6 +54,40 @@ tags: [infra, backup]
|
||||
| NAS 장애 | R2에서 rclone copy로 복원 |
|
||||
| kr2 장애 | NAS rsync 미러에서 복원 |
|
||||
|
||||
## kine 백업 (Supabase PostgreSQL)
|
||||
|
||||
K3s datastore인 Supabase PostgreSQL의 kine 테이블 백업. pg_dump → NAS → R2 3단계.
|
||||
|
||||
### 1. pg_dump (kr2)
|
||||
|
||||
- **호스트**: incus-kr2
|
||||
- **스크립트**: `/usr/local/bin/kine-backup.sh`
|
||||
- **systemd**: `kine-backup.timer` / `kine-backup.service`
|
||||
- **스케줄**: 매일 03:30 (±5분)
|
||||
- **DB**: Supabase Pooler (`aws-1-ap-southeast-1.pooler.supabase.com`)
|
||||
- **인증**: Vault `secret/cloud/supabase`
|
||||
- **출력**: `/opt/kine-backup/kine-YYYYMMDD.sql.gz`
|
||||
- **보관**: 7일 초과 자동 삭제
|
||||
- **크기**: ~9.3MB (gzip)
|
||||
|
||||
### 2. rsync → NAS (같은 스크립트)
|
||||
|
||||
- pg_dump 완료 직후 자동 실행 (같은 스크립트)
|
||||
- **대상**: `kaffa@192.168.205.100:/volume1/k3s-backup/kine/`
|
||||
- **SSH 키**: `/home/kaffa/.ssh/id_ed25519`
|
||||
|
||||
### 3. R2 sync (기존 r2-backup.timer로 자동 포함)
|
||||
|
||||
NAS `/volume1/k3s-backup/` → R2 `k3s-backup` 버킷 (매일 05:00)
|
||||
|
||||
### 복구 방법
|
||||
|
||||
```bash
|
||||
# NAS 또는 R2에서 덤프 파일 가져온 후
|
||||
gunzip kine-YYYYMMDD.sql.gz
|
||||
psql "$DB_URL" < kine-YYYYMMDD.sql
|
||||
```
|
||||
|
||||
## etcd 스냅샷 백업
|
||||
|
||||
K3s datastore인 외부 etcd 클러스터의 스냅샷 백업.
|
||||
|
||||
Reference in New Issue
Block a user