- 인쇄
- PDF
Velero 플러그인
- 인쇄
- PDF
Kubernetes의 클러스터의 백업이 필요할 경우 Velero 플러그인을 사용할 수 있습니다. Velero를 통해 Kubernetes 객체를 Object Storage에 압축 및 백업할 수 있으며, 클러스터의 PersistentVolume에 대한 스냅샷을 생성하여 클러스터의 오브젝트 및 PersistentVolume을 이전 상태로 복원할 수 있습니다. 사용 전 아래의 사항을 참고하십시오.
- 이 가이드는 Ubuntu 20.04 OS 및 Velero v1.14.1을 기준으로 작성되었습니다.
- 네이버 클라우드 플랫폼에서 제공하는 Object Storage 및 Bucket이 필요합니다. 해당 서비스에 대한 자세한 내용은 Object Storage 개요에서 확인할 수 있습니다.
- Velero를 사용하기 전 아웃바운드 인터넷 트래픽을 활성화하기 위해서 NAT Gateway를 반드시 생성해야 합니다.
- 사용 중인 네이버 클라우드 플랫폼 계정의 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을 등록해 주십시오.
aws_access_key_id
: AccessKeyaws_secret_access_key
: SecretKeyregion
: cluster가 속한 region (FKR)server_api_uri
: Server(VPC) API URI
$ vi cloud-credential
[default]
aws_access_key_id=<ACCESS_KEY_ID>
aws_secret_access_key=<SECRET_ACCESS_KEY>
region=<REGION>
server_api_uri=https://fin-ncloud.apigw.fin-ntruss.com/vserver/v2
3. Velero 서버 설치
아래 명령어를 실행하여 Velero 서버를 설치해 주십시오. --bucket velero-backup
에서 velero-backup
의 내용을 네이버 클라우드 플랫폼 내 Object Storage의 Bucket 이름으로 변경해야 합니다.
velero install \
--kubeconfig $KUBE_CONFIG \
--provider velero.io/aws \
--bucket velero-backup \
--plugins velero/velero-plugin-for-aws:v1.6.2,nks.private-ncr.fin-ntruss.com/velero-plugin-for-ncloud:v0.0.8 \
--backup-location-config region=kr-standard,s3ForcePathStyle="true",s3Url=https://kr.object.private.fin-ncloudstorage.com \
--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