백업/복구
KIOPS의 백업은 환경에 따라 사용하는 도구가 다릅니다. K8s는 Velero와 컨트롤 플레인 백업을, Docker/Podman은 컨테이너 백업을 사용합니다.
이 가이드는 자신의 환경에 맞는 도구를 고르고 실행하는 순서를 안내합니다.
이 가이드는 백업이라는 단어가 막연하게 느껴지는 운영자도 무엇을 / 어떻게 / 어디로 백업할지 한눈에 그릴 수 있도록 정리합니다. K8s/Docker/Podman 환경에 따라 사용하는 도구(Velero, etcd 스냅샷, 컨트롤 플레인 백업 등)가 다르므로, 자신의 환경에 해당하는 절만 선택하여 읽으면 됩니다.

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