Velero 마이그레이션(Migration) 전략

Velero 마이그레이션(Migration) 전략

1️⃣ Velero를 활용한 클러스터 간 마이그레이션

Velero를 사용하면 기존 Kubernetes 클러스터에서 새로운 클러스터로 손쉽게 데이터를 이전할 수 있습니다. 클러스터 간 마이그레이션을 위해 Velero는 다음과 같은 단계를 따릅니다.

1. 원본 클러스터에서 백업 생성

velero backup create cluster-backup --include-namespaces=default,my-namespace --snapshot-volumes

2. 백업 상태 확인

velero backup get

3. 새 클러스터에서 Velero 설치

velero install --provider aws --bucket velero-backups --secret-file ./credentials-velero --use-volume-snapshots=true

4. 새 클러스터로 백업 데이터 복원

velero restore create cluster-restore --from-backup cluster-backup

2️⃣ Velero Backup & Restore를 이용한 클러스터 이전

1. 백업 파일을 외부 스토리지(S3, MinIO 등)에 저장

velero backup create full-cluster-backup --storage-location default

2. 백업 데이터 다운로드 및 전송

aws s3 sync s3://velero-backups ./backup-data
scp -r ./backup-data user@new-cluster:/home/user/

3. 새로운 클러스터에서 복구 실행

velero restore create full-cluster-restore --from-backup full-cluster-backup

3️⃣ 다중 클러스터 환경에서 Velero 운영 전략

1. 각 클러스터에 Velero 설치 및 S3 연동

velero install --provider aws --bucket velero-multi-cluster --secret-file ./credentials-velero --use-volume-snapshots=true

2. 다중 클러스터 백업 정책 설정 (CronJob 활용)

kubectl create cronjob velero-backup --schedule="0 0 * * *" -- /bin/sh -c "velero backup create multi-cluster-backup-$(date +\%Y\%m\%d)"

3. 클러스터 간 리소스 이동

velero restore create --from-backup multi-cluster-backup-20230401 --include-namespaces=my-app

4️⃣ Velero를 활용한 Kubernetes 버전 업그레이드 전략

1. 기존 클러스터에서 백업 수행

velero backup create upgrade-backup --snapshot-volumes

2. 새로운 Kubernetes 클러스터 구축 후 Velero 설치

velero install --provider aws --bucket velero-upgrade --secret-file ./credentials-velero

3. 백업된 데이터 복원하여 클러스터 업그레이드 완료

velero restore create upgrade-restore --from-backup upgrade-backup

5️⃣ CI/CD와 Velero 연계하여 백업/마이그레이션 자동화

1. GitHub Actions를 활용한 Velero 백업 자동화

name: Velero Backup
on:
  schedule:
    - cron: '0 3 * * *'

jobs:
  backup:
    runs-on: ubuntu-latest
    steps:
      - name: Install Velero
        run: |
          curl -fsSL https://github.com/vmware-tanzu/velero/releases/latest/download/velero-linux-amd64.tar.gz | tar -xzvf -
          sudo mv velero /usr/local/bin/
      - name: Perform Backup
        run: velero backup create cicd-backup --snapshot-volumes

2. ArgoCD를 활용한 Velero 복원 자동화

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: velero-restore
spec:
  destination:
    namespace: velero
  syncPolicy:
    automated: {}
  source:
    repoURL: 'https://github.com/my-org/velero-backups.git'
    path: restore/
    targetRevision: main

CI/CD 파이프라인을 활용하면 백업 및 복구를 자동화하여 운영 부담을 줄일 수 있습니다.

RSS Feed
마지막 수정일자