Skip to content

etcd 备份

etcd 备份是以集群数据为核心的备份。在硬件设备损坏,开发测试配置错误等场景中,可以通过 etcd 备份恢复集群数据。

本文介绍如何为集群制作 etcd 备份。

前提条件

创建 etcd 备份

参照以下步骤创建 etcd 备份。

  1. 进入 容器管理 -> 备份恢复 -> etcd 备份 ,点击 备份策略 页签,然后在右侧点击 创建备份策略

    备份策略列表

  2. 参考以下说明填写 基本信息 。填写完毕后点击 下一步 ,系统将自动校验 etcd 的联通性,校验通过之后可以进行下一步。

    • 备份集群:选择需要备份哪个集群的 etcd 数据,并在终端登录
    • etcd 地址:格式为 https://${节点IP}:${端口号}

      • 在标准 Kubernetes 集群中,etcd 的默认端口号为 2379
      • 在公有云托管集群中,需要联系相关开发人员获取 etcd 的端口号。 这是因为公有云集群的控制面组件由云服务提供商维护和管理,用户无法直接访问或查看这些组件, 也无法通过常规命令(如 kubectl)无法获取到控制面的端口等信息。
      获取端口号的方式
      1. kube-system 命名空间下查找 etcd Pod

        kubectl get po -n kube-system | grep etcd
        
      2. 获取 etcd Pod 的 listen-client-urls 中的端口号

        kubectl get po -n kube-system ${etcd_pod_name} -oyaml | grep listen-client-urls # (1)!
        
        1. etcd_pod_name 替换为实际的 Pod 名称

        预期输出结果如下,节点 IP 后的数字即为端口号:

        - --listen-client-urls=https://127.0.0.1:2379,https://10.6.229.191:2379
        
    • CA 证书:可通过如下命令查看证书,然后将证书内容复制粘贴到对应位置:

      cat /etc/kubernetes/ssl/etcd/ca.crt
      
    • Cert 证书:可通过如下命令查看证书,然后将证书内容复制粘贴到对应位置:

      cat /etc/kubernetes/ssl/apiserver-etcd-client.crt
      
    • Key:可通过如下命令查看证书,然后将证书内容复制粘贴到对应位置:

      cat /etc/kubernetes/ssl/apiserver-etcd-client.key
      

      创建基本信息

    Note

    点击输入框下方的 如何获取 可以在 UI 页面查看获取对应信息的方式。

  3. 参考以下信息填写 备份策略

    • 备份方式:选择手动备份或定时备份

      • 手动备份:基于备份配置立即执行一次 etcd 全量数据的备份。
      • 定时备份:按照设置的备份频率对 etcd 数据进行周期性全量备份。
    • 备份链长度:最多保留多少条备份数据。默认为 30 条。

    • 备份频率:支持小时、日、周、月级别和自定义方式。

    定时备份

  4. 参考以下信息填写 存储位置

    • 存储供应商:默认选择 S3 存储
    • 对象存储访问地址:MinIO 的访问地址
    • 存储桶:在 MinIO 中创建一个 Bucket,填写 Bucket 的名称
    • 用户名:MinIO 的登录用户名
    • 密码:MinIO 的登录密码

    存储位置

  5. 点击 确定 后页面自动跳转到备份策略列表,可以查看目前创建好的所有策略。

    • 在策略右侧点击 操作按钮可以查看日志、查看 YAML、更新策略、停止策略、立即执行策略等。
    • 当备份方式为手动时,可以点击 立即执行 进行备份。
    • 当备份方式为定时备份时,则会根据配置的时间进行备份。

    成功创建

查看备份策略日志

点击 日志 可以查看日志内容,默认展示 100 行。若想查看更多日志信息或者下载日志,可在日志上方根据提示前往可观测性模块。

查看日志

查看备份策略详情

进入 容器管理 -> 备份恢复 -> etcd 备份 ,点击 备份策略 页签,接着点击策略名称可以查看策略详情。

备份策略详情

查看备份点

  1. 进入 容器管理 -> 备份恢复 -> etcd 备份 ,点击 备份点 页签。
  2. 选择目标集群后,可以查看该集群下所有备份信息。

    每执行一次备份,对应生成一个备份点,可通过成功状态的备份点快速恢复应用。

    备份点