升级 Harvester

升级支持矩阵

下表介绍了版本的升级路径:

原版本支持的新版本
v1.0.2v1.0.3
v1.0.1v1.0.2
v1.0.0v1.0.1

开始升级

我们仍在努力实现零停机升级。请在升级 Harvester 集群之前按照以下步骤操作:

升级 Harvester - 图1警告

  • 在升级 Harvester 集群之前,我们强烈建议:
    • 关闭所有虚拟机(Harvester GUI -> Virtual Machines -> 选择虚拟机 -> Actions -> Stop)。
    • 备份虚拟机。
  • 不要在升级期间操作集群,例如,创建新的虚拟机、上传新的镜像等。
  • 确保你的硬件符合首选硬件要求。这是因为升级会消耗中间资源。
  • 确保每个节点至少有 25 GB 的可用空间 (df -h /usr/local/)。

升级 Harvester - 图2警告

  • 确保所有节点的时间同步。建议使用 NTP 服务器来同步时间。如果你在安装期间没有配置 NTP 服务器,你可以在每个节点上手动添加一个 NTP 服务器:

    1. $ sudo -i
    2. # 添加时间服务器
    3. $ vim /etc/systemd/timesyncd.conf
    4. [ntp]
    5. NTP=0.pool.ntp.org
    6. # 启用并启动 systemd-timesyncd
    7. $ timedatectl set-ntp true
    8. # 检查状态
    9. $ sudo timedatectl status

升级 Harvester - 图3警告

  • 连接到 PCI 网桥的 NIC 可能会在升级后重命名。请查看知识库了解更多信息。

  • 请务必先阅读本文档顶部的警告内容。

  • Harvester 会定期检查是否有新的可升级版本。如果有新版本,仪表板页面上会显示升级按钮。

    • 如果集群处于离线环境中,请先参阅准备离线升级。你还可以使用该部分中的方法加速 ISO 下载。
  • 导航到 Harvester GUI,然后单击仪表板页面上的升级按钮:

    升级 Harvester - 图4

  • 选择要升级的版本:

    升级 Harvester - 图5

  • 单击顶部的圆圈以显示升级进度: 升级 Harvester - 图6

准备离线升级

升级 Harvester - 图7警告

请务必先查看升级支持矩阵了解可升级的版本。

  • Releases 页面下载 Harvester ISO 文件。

  • 将 ISO 保存到本地 HTTP 服务器。假设文件托管在 http://10.10.0.1/harvester.iso 中。

  • 从 Releases 页面下载版本文件,例如 https://releases.rancher.com/harvester/{version}/version.yaml

    • 替换 version.yaml 文件中的 isoURL 值:

      1. apiVersion: harvesterhci.io/v1beta1
      2. kind: Version
      3. metadata:
      4. name: v1.0.2
      5. namespace: harvester-system
      6. spec:
      7. isoChecksum: <SHA-512 checksum of the ISO>
      8. isoURL: http://10.10.0.1/harvester.iso # change to local ISO URL
      9. releaseDate: '20220512'
    • 假设文件托管在 http://10.10.0.1/version.yaml 中。

  • 登录到其中一个 control plane 节点。

  • 成为 root 并创建一个版本:

    1. [email protected]:~> sudo -i
    2. [email protected]:~> kubectl create -f http://10.10.0.1/version.yaml
  • Harvester GUI Dashboard 页面上应显示升级按钮。