备份恢复

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

    以 Azure 为例,安装 Velero 需要以下步骤:

    (2)创建 service principal

    1. AZURE_SUBSCRIPTION_ID=`az account list --query '[?isDefault].id' -o tsv`
    2. AZURE_CLIENT_SECRET=`az ad sp create-for-rbac --name "velero" --role "Contributor" --query 'password' -o tsv`
    3. AZURE_CLIENT_ID=`az ad sp list --display-name "velero" --query '[0].appId' -o tsv`
    4. AZURE_SUBSCRIPTION_ID=${AZURE_SUBSCRIPTION_ID}
    5. AZURE_TENANT_ID=${AZURE_TENANT_ID}
    6. AZURE_CLIENT_ID=${AZURE_CLIENT_ID}
    7. AZURE_RESOURCE_GROUP=${AZURE_RESOURCE_GROUP}

    (3)启动 Velero

    1. velero schedule create <SCHEDULE NAME> --schedule "0 7 * * *"

    首先,在集群 1 中创建备份(默认 TTL 是 30 天,你可以使用 —ttl 来修改):

    1. velero backup create <BACKUP-NAME>

    然后,为集群 2 配置 BackupStorageLocations 和 VolumeSnapshotLocations,指向与集群 1 相同的备份和快照路径,并确保 BackupStorageLocations 是只读的(使用 —access-mode=ReadOnly)。接下来,稍微等一会(默认的同步时间为 1 分钟),等待 Backup 对象创建成功。

    1. velero restore create --from-backup <BACKUP-NAME>
    2. velero restore get
    3. velero restore describe <RESTORE-NAME-FROM-GET-COMMAND>