aws s3나 클라우드 프로바이더 저장소를 쓰는게 일반적인 벨레로...
여기서는 사용이 불가능해서, 미니오를 설치 후 벨레로가 미니오를 바라보게 해야한다.
위와 같은 순서로 구축하는 것으로 보임
helm repo add bitnami https://charts.bitnami.com/bitnami
helm pull bitnami/minio
해당 tar파일 반입
docker pull docker.io/bitnami/minio:2023.5.18-debian-11-r2 반입
imageRegistry: Harbor IP수정
imagePullSecrets 추가
svc type: LoadBalancer로 추가
rootPassword 추가
Standalone으로 구성 (distributed는 ...? )
helm install minio . -n velero-system -f values.yaml
벨레로 공식문서
벨레로 how it works?
벨레로 버전 체크
벨레로 CLI
https://github.com/vmware-tanzu/velero/releases/tag/v1.11.0
velero-v1.11.0-linux-amd64.tar.gz 다운로드
벨레로 플러그인
docker pull velero/velero-plugin-for-aws:v1.6.2
tar xvf velero-v1.11.0-linux-amd64.tar.gz
sudo mv velero /usr/local/bin
root@eksadmin:/eks-anywhere-vSphere/velero/velero-v1.11.0-linux-amd64# velero version
Client:
Version: v1.11.0
Git commit: 0da2baa908c88ec3c45da15001f6a4b0bda64ae2
<error getting server version: no matches for kind "ServerStatusRequest" in version "velero.io/v1">
kubectl create ns velero
velero install \
--provider aws \
--plugins 20.20.4.208:443/velero/velero-plugin-for-aws:v1.6.2 \
--bucket velero \
--secret-file ~/.minio-cred \
--use-volume-snapshots=false \
--backup-location-config region=minio,s3ForcePathStyle="true",s3Url=http://20.20.4.214:9000/
root@eksadmin:/eks-anywhere-vSphere/velero# velero version
Client:
Version: v1.11.0
Git commit: 0da2baa908c88ec3c45da15001f6a4b0bda64ae2
Server:
Version: v1.11.0
ustomResourceDefinition/backups.velero.io: attempting to create resource
An error occurred:
Error installing Velero. Use `kubectl logs deploy/velero -n velero` to check the deploy logs: Error creating resource CustomResourceDefinition/backups.velero.io: the server could not find the requested resource
쿠버네티스 1.26버전에서 1.11을 올려야되는데, 다른 버전을 올려서 안되는 것
버전 변경으로 해결
Warning Failed 53s kubelet Failed to pull image "velero/velero:v1.11.0": rpc error: code = Unknown desc = failed to pull and unpack image "docker.io/velero/velero:v1.11.0": failed to resolve reference "docker.io/velero/velero:v1.11.0": failed to do request: Head "https://registry-1.docker.io/v2/velero/velero/manifests/v1.11.0":
Warning Failed 28s (x2 over 53s) kubelet Error: ErrImagePull
오류 해결 공식문서
벨레로 플러그인만 반입하고 이미지를 반입하지 않아서...
추가적으로 변경해주었음.
kubectl set image deployment/velero velero=${하버IP}:443/velero/velero:v1.11.0 -n velero
root@eksadmin:/eks-anywhere-vSphere# velero backup create test-pods-back --include-namespaces=test
Backup request "test-pods-back" submitted successfully.
Run `velero backup describe test-pods-back` or `velero backup logs test-pods-back` for more details.
root@eksadmin:/eks-anywhere-vSphere# kubectl delete pods busybox -n test
pod "busybox" deleted
미니오에 아래와 같이 생성된다.
백업 시작
velero restore create --from-backup test-pods-back
root@eksadmin:/eks-anywhere-vSphere# velero backup create test-pods-back --include-namespaces=test
Backup request "test-pods-back" submitted successfully.
Run `velero backup describe test-pods-back` or `velero backup logs test-pods-back` for more details.
아래와 같이 다시 생성된다!
10분마다 백업 되게 하기
root@eksadmin:/eks-anywhere-vSphere# velero schedule create my-schedule --schedule="*/10 * * * *" --include-namespaces=test
root@eksadmin:/eks-anywhere-vSphere# velero schedule get
NAME STATUS CREATED SCHEDULE BACKUP TTL LAST BACKUP SELECTOR PAUSED
my-schedule Enabled 2023-06-09 16:49:49 +0900 KST */10 * * * * 0s 2s ago <none> false
생성 확인!