본문으로 건너뛰기

컨트롤 플레인 백업

Kubernetes 클러스터의 핵심 데이터인 etcd 스냅샷과 PKI 인증서를 단일 번들로 오브젝트 스토리지에 백업하는 방법을 안내합니다.

컨트롤 플레인 백업이란?

컨트롤 플레인 백업은 Velero가 처리하지 않는 **클러스터 자체의 재해복구(DR)**를 위한 기능입니다. etcd는 클러스터의 "두뇌"로 모든 리소스 정보를 담고 있고, PKI 인증서(/etc/kubernetes/pki)는 클러스터 통신을 보호합니다. 두 가지를 함께 백업해야 클러스터 전체를 복구할 수 있습니다.


컨트롤 플레인 백업에 저장되는 데이터

  • etcd 스냅샷: Pod, Deployment, Service, ConfigMap, Secret 등 모든 K8s 리소스 정의를 포함합니다.
  • PKI 인증서 (/etc/kubernetes/pki): 클러스터 통신에 사용되는 CA 인증서, API 서버 인증서, etcd 인증서 등 전체 인증서 묶음을 포함합니다.
컨트롤 플레인 백업의 범위

컨트롤 플레인 백업은 K8s 리소스 정의와 인증서를 저장합니다. PersistentVolume에 저장된 실제 애플리케이션 데이터는 별도로 Velero 백업을 사용해 보호하세요.


백업 생성 절차

Step 1: 백업 관리 페이지 이동

  1. 좌측 메뉴에서 **[백업 관리]**를 클릭합니다.
  2. 백업 목록 탭에서 K8s 백업 세그먼트(Segmented) 컨트롤을 컨트롤플레인으로 전환합니다. (Velero / 컨트롤플레인 중 선택)
  3. 백업 생성 버튼을 클릭합니다.

Step 2: 인프라 및 백업 정보 입력

백업 생성 모달(ControlplaneBackupModal)에서 다음을 설정합니다.

  • 인프라 선택: 백업할 Kubernetes 클러스터를 선택합니다. 선택 시 마스터 노드 정보가 자동으로 로드됩니다.
  • 백업 이름: 식별용 이름을 입력합니다. 기본값은 cp-YYYYMMDD-HHmmss 형식으로 자동 생성됩니다.
클러스터가 보이지 않나요?

[런타임 환경] 페이지에서 Kubernetes 클러스터가 정상적으로 등록되어 있는지 확인하세요.

Step 3: 마스터 노드 SSH 자격증명 입력

백업은 마스터 노드에 직접 SSH로 접속하여 실행됩니다.

  • SSH 사용자명: 마스터 노드 SSH 계정
  • SSH 비밀번호: 마스터 노드 SSH 비밀번호
  • sudo 비밀번호: etcd 스냅샷 생성에 필요한 sudo 권한 비밀번호
SSH 자격증명은 저장되지 않습니다

입력한 SSH 자격증명은 서버에 저장되지 않습니다. 복원 시에도 다시 입력해야 하므로, 자격증명을 안전한 곳에 보관하세요.

Step 4: 백업 실행 및 확인

  1. 백업 생성 버튼을 클릭합니다.
  2. 백엔드가 다음 작업을 자동으로 수행합니다:
    • 마스터 노드 SSH 접속
    • etcdctl snapshot save 실행
    • /etc/kubernetes/pki 디렉터리 tar.gz 압축
    • 오브젝트 스토리지 업로드 (controlplane/<백업이름>/ 경로)
    • 임시 파일 정리
  3. 완료 후 컨트롤 플레인 백업 목록에서 상태가 **성공(completed)**으로 변경되면 완료입니다.

컨트롤 플레인 백업 목록 컬럼

컬럼설명
백업 이름생성된 백업 식별자
크기백업 번들 파일 크기
생성일생성 일시
액션복원삭제 아이콘 제공

Velero 백업과의 차이점

항목컨트롤 플레인 백업Velero 백업
보호 대상클러스터 구조 (etcd + PKI)애플리케이션 워크로드 + PV 데이터
접속 방식마스터 노드 SSH 직접Velero Agent (클러스터 내부)
복원 범위클러스터 전체 재구성네임스페이스/리소스 단위 선택 복원
권장 사용클러스터 자체 DR서비스별 백업 및 마이그레이션
권장 운영 전략

운영 환경에서는 컨트롤 플레인 백업 + Velero 백업을 함께 운영하세요. 컨트롤 플레인 백업은 클러스터 복구의 토대를, Velero는 애플리케이션 데이터를 각각 보호합니다.


복구 흐름 미리보기

컨트롤 플레인 백업 목록에서 복원 아이콘을 클릭하면 ControlplaneRestoreModal이 열립니다.

  • 백업 선택: 복원할 컨트롤 플레인 백업을 선택합니다.
  • 확인 텍스트 입력: 확인을 위해 백업 이름을 정확히 입력해야 복원 버튼이 활성화됩니다.
  • 마스터 노드 SSH 자격증명 재입력: 복원 시에도 SSH 사용자명·비밀번호가 필요합니다.
  • sudo 비밀번호 입력: etcd 정지/복원 및 PKI 적용을 위해 sudo 비밀번호를 입력합니다.

자세한 복원 절차는 복구 가이드를 참고하세요.


문제 해결

백업 실패: "etcdctl snapshot save failed"

왜 발생하나요? etcd 클러스터에 연결하거나 스냅샷을 저장하는 과정에서 문제가 발생했습니다.

확인 및 해결 방법

  1. SSH 자격증명 확인: 마스터 노드 SSH 접속 정보가 올바른지 확인합니다.
  2. sudo 권한 확인: 입력한 계정이 sudo 권한을 가지고 있는지 확인합니다.
  3. etcd 상태 확인: 모든 etcd 멤버가 건강한 상태인지 점검합니다.
  4. 디스크 공간 확인: 마스터 노드에 충분한 임시 저장 공간이 있는지 확인합니다.

백업 실패: 오브젝트 스토리지 업로드 오류

확인 및 해결 방법

  1. 저장소 등록 확인: [백업 관리] > 저장소 관리 탭에서 오브젝트 스토리지가 정상 등록되어 있는지 확인합니다.
  2. 자격증명 재검증: Access Key, Secret Key, 버킷명이 올바른지 확인합니다.
  3. 네트워크 연결 확인: KIOPS 서버에서 오브젝트 스토리지 엔드포인트에 접근 가능한지 확인합니다.
백업 손상 예방

정기적으로 컨트롤 플레인 백업을 생성하여 복수의 복구 시점을 확보하세요. 중요한 클러스터 변경 작업 전에는 반드시 수동 백업을 먼저 생성하세요.