6 - Helm HA离线升级


注意: 如果之前使用RKE Add-on安装的Rancher,请根据从RKE HA迁移到Helm HA进行迁移。

从版本v2.0.8开始,Rancher采用Helm chart安装和升级。如果要将升级方法从RKE更改为Helm,请按照此过程操作。

一、先决条件

  • 准备离线镜像

按照准备离线镜像方法, 同步新版本镜像到离线镜像仓库。

  • 备份集群

创建快照如果在升级期间出现问题,可使用此快照进行恢复。

  • kubectl

安装配置kubectl,使其可以连接集群。

  • 安装或者升级Helm Server和Helm 客户端

如果之前是通过RKE部署的rancher,那首先需要安装Helm Server和Helm 客户端,安装方法参考安装Helm Server和Helm 客户端安装最新版本Helm Server和Helm 客户端

二、准备升级文件

注意以下操作需要在安装有helmkubectl工具并且可以访问互联网的主机上操作

  • 更新本地helm repo缓存。
  1. helm repo update
  1. helm repo list
  2. NAME URL
  3. stable https://kubernetes-charts.storage.googleapis.com
  4. rancher-<CHART_REPO> https://releases.rancher.com/server-charts/<CHART_REPO>
  • 获取Rancher Charts离线包。

指定安装的版本(比如: lateststable或者通过—version指定获取的版本),可通过版本选择查看版本说明。

  1. helm fetch rancher-stable/rancher --version v2.2.3

结果 默认在当前目录下生成rancher-vx.x.x.tgz压缩文件,可通过-d指定生成的压缩包路径,比如:helm fetch rancher-stable/rancher —version v2.2.3 -d /home,将会在/home目录下生成rancher-vx.x.x.tgz压缩文件。

三、更新 Rancher

拷贝rancher-vx.x.x.tgz文件到离线环境中安装有helm客户端和kubectl客户端并可以访问内网集群的主机上,解压rancher-vx.x.x.tgz得到rancher文件夹。

  • 使用权威认证证书安装升级

注意 升级参数应该以安装时设置的参数为准,将安装参数以—set key=value的形式附加到升级命令中。

  1. kubeconfig=xxx.yaml
  2. helm --kubeconfig=$kubeconfig upgrade rancher ./rancher \
  3. --set hostname=<修改为自己的域名> \
  4. --set ingress.tls.source=secret \
  5. --set service.type=ClusterIP \
  6. --set rancherImage=<离线镜像仓库地址>/rancher/rancher \
  7. --set busyboxImage=<离线镜像仓库地址>/rancher/busybox
  • 使用自签名证书安装升级

注意 升级参数应该以安装时设置的参数为准,将安装参数以—set key=value的形式附加到升级命令中。

  1. kubeconfig=xxx.yaml
  2. helm --kubeconfig=$kubeconfig upgrade rancher ./rancher \
  3. --set hostname=<修改为自己的域名> \
  4. --set ingress.tls.source=secret \
  5. --set service.type=ClusterIP \
  6. --set privateCA=true \
  7. --set rancherImage=<离线镜像仓库地址>/rancher/rancher \
  8. --set busyboxImage=<离线镜像仓库地址>/rancher/busybox

因为是离线安装,所以需要指定离线镜像名称。镜像tag不需要指定,会自动根据chart版本获取。Rancher Pod中有两个容器,一个是rancher,一个是用于收集审计日志的busybox,更多配置参考rancher高级设置