Search

Velero

EBS 스냅샷의 기능도 있지만 클러스터 단위의 전체 백업이 필요하거나 네임스페이스 단위의 백업이 필요한 경우 velero를 사용하게 된다.
velero는 pv의 내용도 백업하기 때문에 EBS Snapshot 기능보다 백업 범위가 넓은 점이 장점이다.

ENV

export BUCKET_NAME=<BUCKET_NAME> export REGION_CODE=ap-northeast-2 export BACKUP_NAME=<BACKUP_NAME>
Shell
복사

Create Bucket

aws s3 mb s3://$BUCKET_NAME --region $REGION_CODE
Shell
복사

Create IAM User

aws iam create-user --user-name velero
Shell
복사

Policy

cat << EOF > velero-policy.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeVolumes", "ec2:DescribeSnapshots", "ec2:CreateTags", "ec2:CreateVolume", "ec2:CreateSnapshot", "ec2:DeleteSnapshot" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:DeleteObject", "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::${BUCKET_NAME}/*" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::${BUCKET_NAME}" ] } ] } EOF
Shell
복사

Put Policy

Create Access Key

aws iam create-access-key --user-name velero
Shell
복사

Velero CLI Install

wget https://github.com/vmware-tanzu/velero/releases/download/v1.15.2/velero-v1.15.2-linux-amd64.tar.gz tar zxvf velero-v1.15.2-linux-amd64.tar.gz sudo cp velero-v1.15.2-linux-amd64/velero /usr/local/bin/
Shell
복사

Create Secret File

cat << EOF > credentials-velero [default] aws_access_key_id=<AWS_ACCESS_KEY_ID> aws_secret_access_key=<AWS_SECRET_ACCESS_KEY> EOF
Shell
복사

Velero Install

velero install \ --provider aws \ --bucket $BUCKET_NAME \ --secret-file ./credentials-velero \ --backup-location-config region=$REGION_CODE \ --use-volume-snapshots=false \ --plugins velero/velero-plugin-for-aws:v1.10.0
Shell
복사

Create Backup

velero backup create $BACKUP_NAME --include-namespaces skills --wait
Shell
복사

Get Backup List

velero get backup
Shell
복사

Restore to the backup state you created

velero restore create --from-backup $BACKUP_NAME --wait
Shell
복사