備份恢復

Velero 是一個提供 Kubernetes 集群和持久卷的備份、遷移以及災難恢復等的開源工具。

安裝

https://github.com/heptio/velero/releases 下載最新的穩定版。

以 Azure 爲例,安裝 Velero 需要以下步驟:

(1) 創建存儲賬戶

AZURE_BACKUP_RESOURCE_GROUP=Velero_Backups
az group create -n $AZURE_BACKUP_RESOURCE_GROUP --location WestUS

AZURE_STORAGE_ACCOUNT_ID="velero$(uuidgen | cut -d '-' -f5 | tr '[A-Z]' '[a-z]')"
az storage account create \
    --name $AZURE_STORAGE_ACCOUNT_ID \
    --resource-group $AZURE_BACKUP_RESOURCE_GROUP \
    --sku Standard_GRS \
    --encryption-services blob \
    --https-only true \
    --kind BlobStorage \
    --access-tier Hot

BLOB_CONTAINER=velero
az storage container create -n $BLOB_CONTAINER --public-access off --account-name $AZURE_STORAGE_ACCOUNT_ID

(2)創建 service principal

(3)啓動 Velero

備份

創建定期備份:

災難恢復

遷移

首先,在集群 1 中創建備份(默認 TTL 是 30 天,你可以使用 --ttl 來修改):

然後,爲集群 2 配置 BackupStorageLocations 和 VolumeSnapshotLocations,指向與集群 1 相同的備份和快照路徑,並確保 BackupStorageLocations 是隻讀的(使用 --access-mode=ReadOnly)。接下來,稍微等一會(默認的同步時間爲 1 分鐘),等待 Backup 對象創建成功。

最後,執行數據恢復:

參考文檔

Last updated