벨레로 란?
✓ Velero 는 쿠버네티스 리소스와 퍼시스턴트 볼륨을 오프젝트 스토리지로 백업하는 툴입니다.
✓ Velero 는 로컬에서 수행하는 클라이언트 CLI(Command-line Interface)와 쿠버네티스 클러스터에서 운영되는 서버로 구성되어 있습니다.
✓ 클라우드 프로바이더가 제공하는 블럭 스토리지 스냅샷 기능을 이용하여 PV(Persistent Volume)에 대한 스냅샷을 생성하여 백업합니다.
✓ On-premise 환경에서는 restic 오픈소스를 활용하여 PV를 오브젝트 스토리지로 백업합니다. (Velero 1.5 부터)
벨레로 의 기능
✓ PV 데이터 스냅샷
✓ 클러스터 전체백업 또는 선택적 백업(A-Namespace에 있는 오브젝트만 백업합니다)
✓ 백업된 데이터를 통한 Restore
✓백업 스케줄링(cron 표현식을 사용하여 Velero 커맨드를 통해 백업스케줄링을 수행할 수 있습니다.)
벨레로 설치
실습 환경
🖥 ️ : 록키 9.4
🖥 ️ : 도커, 쿠벡틀, 쿠버네티스 클러스터 설치가 되어있어야 합니다.
1. Velero 클라이언트 설치
1) 벨레로 다운로드
# wget https://github.com/vmware-tanzu/velero/releases/download/v1.10.1/velero-v1.10.1-linux-amd64.tar.gz
2) 압축 해제 및 파일 이동
# tar -xvf velero-v1.10.1-linux-amd64.tar.gz
# MV 벨레로-v1.10.1-linux-amd64/벨레로/usr/로컬/빈/
2. Velero 서버 컴포넌트 설치
1) 미니오 설치
❕미니오 란?? minio는 크게 2가지로 나뉩니다. minio 서버 와 minio 클라이언트. 서버는 말 그대로 스토리지 서비스의 서버이고 클라이언트는 서버의 설정을 담당해 주는 부분입니다. 그래서 설치 또한 서버와 클라이언트 2개를 설치해 줘야 합니다. (하지만 큰 설정 없이 대표적인 스토리지 기능만 사용하고자 한다면 minio client를 설치하지 않고도 사용은 가능합니다.) |
# wget https://dl.min.io/server/minio/release/linux-amd64/minio
# chmod +x minio
2) MinIO 자격 증명 파일 생성
3) MinIO 버킷을 생성
# wget https://dl.min.io/client/mc/release/linux-amd64/mc
# chmod +x mc
# MV mc /usr/local/bin/
# mc 가명 세트 sysdocu http://서버 IP:9000 mini minio123 # mc mb /data
4) 벨레로 서버 설치
# 벨레로 설치 –공급자 aws –벨레로/벨레로-plugin-톱용 플러그인:v1.10.0 –버킷 마이 버킷 –비밀 파일 ./cred 자격 증명-벨레로.ini –백업-위치 구성 영역=minio,s3ForcePathStyle=”true”,s3Url= http://서버 IP:9000 –snapshot-위치 구성 영역=minio –사용 노드 에이전트 –권한 노드 에이전트 –upload러형=코피아
5) 설치 및 버전 확인
5. Velero 백업 및 복원 명령어
Velero 를 설치한 후에는 백업 및 복원 작업을 수행할 수 있습니다.
1) 백업 생성
지정된 네임스페이스 내의 모든 리소스를 백업합니다.
해당 네임스페이스에 있는 모든 포드, 서비스, 시크릿, ConfigMap, 영구 볼륨 클레임 등의 쿠버네티스 리소스가 백업됩니다.
# 벨레로 백업 만들기 <backup-name> –include 네임스페이스 <namespace-name>
2) 백업 목록 조회
# 벨레로 백업 받기
3) 백업 복원
# 벨레로 복원 생성 –from-backup <backup-name>
4) 백업 삭제
# 벨레로 백업 삭제 <backup-name>