백업/복구
시스템 장애나 데이터 손실은 언제든지 발생할 수 있습니다. 정기적인 백업은 이러한 상황에서 빠르게 복구할 수 있는 가장 확실한 방법입니다.
KIOPS는 다양한 환경에 맞는 백업 기능을 제공하여, 여러분의 소중한 데이터와 서비스를 안전하게 보호합니다.
이 가이드는 백업이라는 단어가 막연하게 느껴지는 운영자도 무엇을 / 어떻게 / 어디로 백업할지 한눈에 그릴 수 있도록 정리합니다. K8s/Docker/Podman 환경에 따라 사용하는 도구(Velero, etcd 스냅샷, 컨트롤 플레인 백업 등)가 다르므로, 자신의 환경에 맞는 칸만 골라 따라 읽으면 됩니다.

시작하기 전에: 알아둘 용어
백업 관련 용어를 짧게 정리합니다. 본문에서 처음 등장할 때 이 사전을 참고하세요.
- Velero: K8s 워크로드와 PV(영구 볼륨) 데이터를 외부 저장소로 백업/복원하는 표준 도구입니다.
- etcd 스냅샷: K8s가 클러스터 상태(노드/리소스/설정)를 보관하는 데이터베이스(etcd)의 시점 백업입니다.
- 외부 저장소(External Storage): 백업 데이터를 보관할 별도 저장 공간입니다. (현재 SeaweedFS, S3 호환 저장소 지원, NFS는 준비 중)
- 백업 유형(서비스 / 인프라): "서비스 한 개만" 백업할지 "클러스터/호스트 전체"를 백업할지의 구분입니다.
- 복구 가이드: 백업 목록의 각 항목에서 복구 절차를 안내하는 별도 화면입니다.
- 컨트롤 플레인 백업: etcd 스냅샷과 PKI 인증서(
/etc/kubernetes/pki)를 단일 번들로 마스터 노드에서 직접 백업하는 K8s 클러스터 단위 DR 도구입니다. Velero가 처리하지 않는 클러스터 복구에 사용합니다.
백업 분류
KIOPS의 백업은 개념적으로 서비스 백업과 인프라 백업으로 나눌 수 있습니다. 서비스 백업은 [서비스 관리] 페이지의 서비스 백업 생성 모달에서, 인프라 백업은 [백업 관리] 페이지의 백업 생성 마법사에서 진행합니다. (두 종류를 한 화면에서 세그먼트로 고르는 방식은 아닙니다.)
서비스 백업
특정 서비스 단위의 백업을 생성합니다. 서비스 백업 생성 모달(ServiceBackupFormModal)에서 진입하며, 런타임 종류에 따라 다음을 지원합니다.
- Kubernetes 서비스: 해당 서비스가 사용하는 Kubernetes 리소스를 Velero 기반으로 백업합니다.
- Docker/Podman 서비스: 컨테이너와 볼륨, docker-compose 설정을 백업합니다.
인프라 백업
런타임 환경(클러스터 또는 Docker/Podman 호스트) 전체 또는 일부를 백업합니다. 런타임 종류에 따라 다음과 같은 유형을 지원합니다.
- Kubernetes 인프라 백업
- Velero 백업: 워크로드(Deployment, Service 등)와 PV 데이터를 외부 오브젝트 스토리지에 저장합니다. 리소스 필터링(PV/PVC 제외, 앱 리소스만 등) 및 PVC 데이터 포함 옵션을 제공합니다.
- 컨트롤 플레인 백업: etcd 스냅샷과 PKI 인증서를 단일 번들로 오브젝트 스토리지에 백업합니다. 클러스터 전체 재구성이 필요한 DR 상황에 사용합니다.
- Docker/Podman 인프라 백업: 호스트 전체 또는 선택한 컨테이너를 대상으로 볼륨/설정을 백업합니다.
- Kubernetes 환경: 컨트롤 플레인 백업 + Velero 백업을 함께 사용하면 클러스터 재구성 수준의 DR이 가능합니다. 컨트롤 플레인 백업은 클러스터 구조(etcd+PKI), Velero는 애플리케이션 데이터를 각각 보호합니다.
- Docker/Podman 환경: Docker 백업으로 컨테이너 볼륨과 설정을 보호하세요.
- 서비스 단위 관리: 서비스별 빠른 백업/복원이 필요한 경우 서비스 백업을 활용하세요.
Velero 백업은 백업 결과를 외부 저장소에 저장해야 의미가 있습니다. 저장소 관리 탭에서 오브젝트 스토리지를 먼저 등록하지 않으면 백업이 실패하거나 빈 상태로 끝납니다 (용어 사전 참고).
두 K8s 백업은 보호하는 대상이 다릅니다. 컨트롤 플레인 백업은 클러스터 상태(etcd)+인증서(PKI)를, Velero는 워크로드+PV 데이터를 다룹니다. 하나만 있으면 복구 시 빠진 부분이 생기므로, 운영 클러스터는 두 가지를 함께 운영하는 것을 권장합니다.
백업 시나리오
인프라 설치
백업을 시작하기 전에 필요한 인프라를 먼저 구성합니다.
- Velero/오브젝트 스토리지 설치: Kubernetes 백업을 위한 Velero 설치 및 외부 저장소 등록 가이드
백업 가이드
환경에 맞는 백업 방법을 선택하세요.
- 컨트롤 플레인 백업: etcd 스냅샷과 PKI 인증서를 단일 번들로 백업합니다. 클러스터 DR의 핵심입니다.
- Docker 백업: Docker 및 Podman 컨테이너와 볼륨, 설정을 안전하게 백업합니다.
- 복구: 컨트롤 플레인 백업 및 Docker/Podman 백업을 사용하여 시스템을 복원합니다.
복구 절차는 별도 메뉴가 아닌 [백업 관리] 페이지의 백업 목록 행에서 복구 가이드 아이콘을 눌러 진입합니다. 페이지 상단에서 메뉴를 찾지 못하고 헤매는 경우가 많으니, 백업 한 줄을 펼친 뒤 아이콘을 확인하세요.
운영 환경에서는 일일 백업과 주간 전체 백업을 병행하는 것을 권장합니다. 중요한 변경 작업 전에는 반드시 수동 백업을 생성하세요.
다음에 할 일
백업 체계를 갖추는 작업은 한 번에 끝나지 않습니다. 다음 순서로 진행하면 누락 없이 정착시킬 수 있습니다.
- Velero/오브젝트 스토리지 설치 - Velero와 외부 저장소를 먼저 준비합니다 (K8s 백업의 전제).
- 컨트롤 플레인 백업 - 클러스터 상태(etcd)+PKI 백업을 정기 일정으로 등록합니다.
- Docker 백업 - Docker/Podman 호스트의 컨테이너 볼륨과 설정을 백업합니다.
- 복구 절차 학습 - 실제 장애 전에 복구 시나리오를 한 번 리허설해 둡니다.