- 인쇄
- PDF
Velero 플러그인
- 인쇄
- PDF
VPC 환경에서 이용 가능합니다.
Kubernetes의 클러스터의 백업이 필요할 경우 Velero 플러그인을 사용할 수 있습니다. Velero를 통해 Kubernetes 객체를 Object Storage에 압축 및 백업할 수 있으며, 클러스터의 PersistentVolume에 대한 스냅샷을 생성하여 클러스터의 오브젝트 및 PersistentVolume을 이전 상태로 복원할 수 있습니다. 사용 전 아래의 사항을 참고하십시오.
- 현재 Volume Backup은 BlockStorage에 한해 제공되며, NAS는 추후 제공 예정입니다.
- 이 가이드는 Ubuntu 20.04 OS 및 Velero v1.14.1을 기준으로 작성되었습니다.
- 네이버 클라우드 플랫폼에서 제공하는 Object Storage 및 Bucket이 필요합니다. 해당 서비스에 대한 자세한 내용은 Object Storage 개요에서 확인할 수 있습니다.
- 사용 중인 네이버 클라우드 플랫폼 계정의 AccessKey 및 SecretKey 정보가 필요합니다.
Ncloud Kubernetes Service 환경에서 Velero와 NKS 간 버전 호환성에 대한 정보는 다음과 같습니다.
Velero 버전 | NKS 버전 |
---|---|
1.10 | 1.24, 1.25, 1.26, 1.27, 1.28 |
1.14 | 1.27, 1.28 |
Velero 설치
Velero 플러그인을 설치하려면 다음 단계를 차례대로 진행해 주십시오.
1. Velero 클라이언트 설치
2. Secret 등록
3. Velero 서버 설치
4. 스냅샷 구성
1. Velero 클라이언트 설치
Velero GitHub 저장소에서 설치를 원하는 버전의 클라이언트를 다운로드해 주십시오.
아래 명령어를 실행하여
/tmp
폴더로 이동해 주십시오.$ cd /tmp
아래 명령어를 실행하여 release tarball을 다운로드해 주십시오.
$ wget https://github.com/vmware-tanzu/velero/releases/download/[version]/[release matched to OS and Architecture] ex) wget https://github.com/vmware-tanzu/velero/releases/download/v1.14.1/velero-v1.14.1-linux-amd64.tar.gz
아래
tar
명령어를 실행하여 다운로드한 파일의 압축을 해제해 주십시오.$ tar -xvzf velero-v1.14.1-linux-amd64.tar.gz
/tmp
경로에 있는 velero-v1.14.1-linux-amd64 의 Velero 바이너리를 이용해 정상적으로 다운로드되었는지 확인할 수 있습니다.
아래 명령어를 실행하여 다운로드된 파일을
/usr/local/bin
경로로 이동해 주십시오.$ sudo mv velero-v1.14.1-linux-amd64/velero /usr/local/bin/velero
2. Secret 등록
아래 명령어를 실행하여 aws_access_key_id
와 aws_secret_access_key
의 값에 각각 AccessKey와 SecretKey를 입력하여 Secret을 등록해 주십시오.
- REGION:
- 수도권: GOV
- 남부권: GOV-KRS
$ vi cloud-credential
# cloud-credential
[default]
aws_access_key_id=<AWS_ACCESS_KEY_ID>
aws_secret_access_key=<AWS_SECRET_ACCESS_KEY>
region=<REGION>
3. Velero 서버 설치
아래 명령어를 실행하여 Velero 서버를 설치해 주십시오. --bucket velero-backup
에서 velero-backup
의 내용을 네이버 클라우드 플랫폼 내 Object Storage의 Bucket 이름으로 변경해야 합니다.
- IMAGE_REGISTRY:
- 수도권: nks.private-ncr.gov-ntruss.com/
- 남부권: nks.krs.private-ncr.gov-ntruss.com/
- S3_URL:
- 수도권
- 공인 도메인 : https://kr.object.gov-ncloudstorage.com
- 사설 도메인 : https://kr.object.private.gov-ncloudstorage.com
- 남부권
- 공인 도메인 : https://krs.object.gov-ncloudstorage.com
- 사설 도메인 : https://krs.object.private.gov-ncloudstorage.com
- 수도권
- VPC 외부에서 Velero Client를 통해 접근하려면 공인 도메인으로 버킷 설정이 필요합니다.
velero install \
--kubeconfig $KUBE_CONFIG \
--provider aws \
--bucket velero-backup \
--plugins velero/velero-plugin-for-aws:v1.6.2,<IMAGE_REGISTRY>/velero-plugin-for-ncloud:v0.0.9 \
--backup-location-config region=kr,s3ForcePathStyle="true",s3Url=<S3_URL> \
--use-volume-snapshots=false \
--secret-file=./cloud-credential
설치가 완료되면 다음 명령어를 실행하여 확인할 수 있습니다.
$ kubectl --kubeconfig $KUBE_CONFIG get deployment/velero --namespace velero
4. 스냅샷 구성
클러스터 블록 스토리지의 스냅샷을 정상적으로 생성할 수 있도록, 아래 명령어를 실행하여 네이버 클라우드 플랫폼에서 제공하는 플러그인을 기본 스냅샷 프로바이더로 지정해 주십시오.
$ velero --kubeconfig $KUBE_CONFIG snapshot-location create default --provider ncloud/volume-snapshotter-plugin