본문으로 건너뛰기

백업/복구

시스템 장애나 데이터 손실은 언제든지 발생할 수 있습니다. 정기적인 백업은 이러한 상황에서 빠르게 복구할 수 있는 가장 확실한 방법입니다.

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 백업 시도

Velero 백업은 백업 결과를 외부 저장소에 저장해야 의미가 있습니다. 저장소 관리 탭에서 오브젝트 스토리지를 먼저 등록하지 않으면 백업이 실패하거나 빈 상태로 끝납니다 (용어 사전 참고).

자주 하는 실수: 컨트롤 플레인 백업과 Velero 백업 혼동

두 K8s 백업은 보호하는 대상이 다릅니다. 컨트롤 플레인 백업은 클러스터 상태(etcd)+인증서(PKI)를, Velero는 워크로드+PV 데이터를 다룹니다. 하나만 있으면 복구 시 빠진 부분이 생기므로, 운영 클러스터는 두 가지를 함께 운영하는 것을 권장합니다.


백업 시나리오

인프라 설치

백업을 시작하기 전에 필요한 인프라를 먼저 구성합니다.

백업 가이드

환경에 맞는 백업 방법을 선택하세요.

  • 컨트롤 플레인 백업: etcd 스냅샷과 PKI 인증서를 단일 번들로 백업합니다. 클러스터 DR의 핵심입니다.
  • Docker 백업: Docker 및 Podman 컨테이너와 볼륨, 설정을 안전하게 백업합니다.
  • 복구: 컨트롤 플레인 백업 및 Docker/Podman 백업을 사용하여 시스템을 복원합니다.
자주 하는 실수: 복구 가이드 아이콘을 찾지 못함

복구 절차는 별도 메뉴가 아닌 [백업 관리] 페이지의 백업 목록 행에서 복구 가이드 아이콘을 눌러 진입합니다. 페이지 상단에서 메뉴를 찾지 못하고 헤매는 경우가 많으니, 백업 한 줄을 펼친 뒤 아이콘을 확인하세요.

권장 백업 전략

운영 환경에서는 일일 백업주간 전체 백업을 병행하는 것을 권장합니다. 중요한 변경 작업 전에는 반드시 수동 백업을 생성하세요.


다음에 할 일

백업 체계를 갖추는 작업은 한 번에 끝나지 않습니다. 다음 순서로 진행하면 누락 없이 정착시킬 수 있습니다.

  1. Velero/오브젝트 스토리지 설치 - Velero와 외부 저장소를 먼저 준비합니다 (K8s 백업의 전제).
  2. 컨트롤 플레인 백업 - 클러스터 상태(etcd)+PKI 백업을 정기 일정으로 등록합니다.
  3. Docker 백업 - Docker/Podman 호스트의 컨테이너 볼륨과 설정을 백업합니다.
  4. 복구 절차 학습 - 실제 장애 전에 복구 시나리오를 한 번 리허설해 둡니다.