企业上云-集群内资源迁移(E-Backup):目标集群安装E-Backup插件

时间:2025-02-12 14:52:30

目标集群安装E-Backup插件

E-Backup为CCE提供集群备份恢复能力。如在CCE中使用E-Backup恢复,需要安装插件并创建存储库。

安装E-Backup插件

  1. 登录CCE控制台,单击左侧导航栏的“插件市场”,找到e-backup插件,单击e-backup插件下的“安装”
  2. 在安装插件页面,选择要安装的集群,配置参数,然后单击“安装”

    当前支持配置如下参数。

    volumeWorkerNum:备份volume的工作并发数量,默认为3。

创建密钥

  1. 获取访问密钥。

    登录CCE控制台,在右上角用户名下选择“我的凭证”,在左侧选择“访问密钥”,单击“新增访问密钥”

  2. 创建密钥文件,并通过 base64 格式化成字符串。

    # 创建密钥文件$ vi credential-for-huawei-obsHUAWEI_CLOUD_AC CES S_KEY_ID=your_access_keyHUAWEI_CLOUD_SECRET_ACCESS_KEY=your_secret_key# 使用 base64 格式化字符串$ base64 -w 0 credential-for-huawei-obsXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHWOBS

  3. 创建Secret。

    按如下YAML文件创建Secret。
    apiVersion: v1kind: Secretmetadata:  labels:    secret.everest.io/backup: 'true'   #标识该secret用于E-Backup访问备份存储库  name: secret-secure-opaque  namespace: velero                  #必须和E-Backup置于同一namespace,取值必须为velerotype: cfe/secure-opaquedata:  # credential文件经过base64编码后得到的字符串  cloud: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHWOBS
    • secret 所在 namespace 必须和 E-Backup 实例所在namespace一致,即 velero。
    • secret.data 中存储的是访问 对象存储服务 的秘钥,其中 key 必须为 cloud,而 value 为2中通过 base64 编码得到的字符串。一般通过 base64 编码后显示的字符串会有换行符,请在写入 secret.data 中时手动去除这些换行符。
    • secret 需要打上标签“secret.everest.io/backup: true”,标识该 secret 是用于备份存储库的管理。

创建存储库

这里的备份存储库是指 E-Backup 用于获取和检测后端对象存储服务相关信息的 K8s 资源对象。

apiVersion: velero.io/v1kind: BackupStorageLocationmetadata:  name: backup-location-001  namespace: velero            #必须和E-Backup处于同一namespacespec:  config:    endpoint: obs.cn-north-4.myhuaweicloud.com   # OBS的endpoint  credential:    name: secret-secure-opaque   # 此前创建的secret的名字    key: cloud                   # secret.data中的key值  objectStorage:    bucket: velero        # OBS中的桶名  provider: huawei           # 使用OBS服务
  • 除了 prefix 字段为选填外,其他字段必填。provider 为固定值 huawei。
  • endpoint 可以到地区和终端节点获取,都需要保证集群内各节点可访问该地址。当endpoint 不带协议头时(http或者https),默认启用 https。
  • credential中的 name 和 key 需要配置正确,否则 E-Backup 无法访问后端存储库。

创建完成后等待30s用于备份存储库的检查和同步等工作,随后查看该备份存储库状态是否可用,PHASE 为 Available 表示可用,其他表示不可用。

$ kubectl get backupstoragelocations.velero.io backup-location-001 -n velero NAME                  PHASE       LAST VALIDATED   AGE   DEFAULTbackup-location-001   Available   23s              23m  

此处如果PHASE 长时间没有变成Available,可通过查看E-Backup的日志定位问题。E-Backup安装后会在velero命名空间创建一个名为velero的工作负载,查看velero的日志即可。

support.huaweicloud.com/macce-ctf/cce_bestpractice_0020.html