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 客户端
二、准备升级文件
注意以下操作需要在安装有
helm
和kubectl
工具并且可以访问互联网的主机上操作
- 更新本地
helm repo
缓存。
helm repo update
- 查看本地helm repo.
helm repo list
NAME URL
stable https://kubernetes-charts.storage.googleapis.com
rancher-<CHART_REPO> https://releases.rancher.com/server-charts/<CHART_REPO>
- 获取
Rancher Charts
离线包。
指定安装的版本(比如: latest
或stable
或者通过—version
指定获取的版本),可通过版本选择查看版本说明。
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
的形式附加到升级命令中。
kubeconfig=xxx.yaml
helm --kubeconfig=$kubeconfig upgrade rancher ./rancher \
--set hostname=<修改为自己的域名> \
--set ingress.tls.source=secret \
--set service.type=ClusterIP \
--set rancherImage=<离线镜像仓库地址>/rancher/rancher \
--set busyboxImage=<离线镜像仓库地址>/rancher/busybox
- 使用
自签名证书
安装升级
注意 升级参数应该以安装时设置的参数为准,将安装参数以
—set key=value
的形式附加到升级命令中。
kubeconfig=xxx.yaml
helm --kubeconfig=$kubeconfig upgrade rancher ./rancher \
--set hostname=<修改为自己的域名> \
--set ingress.tls.source=secret \
--set service.type=ClusterIP \
--set privateCA=true \
--set rancherImage=<离线镜像仓库地址>/rancher/rancher \
--set busyboxImage=<离线镜像仓库地址>/rancher/busybox
因为是离线安装,所以需要指定离线镜像名称。
镜像tag
不需要指定,会自动根据chart版本获取。Rancher Pod中有两个容器,一个是rancher,一个是用于收集审计日志的busybox,更多配置参考rancher高级设置