之前Rancher服务是用 Helm 安装在采用 RKE 部署的 k8s 集群里面,该集群即 Rancher UI
主界面显示的local
集群。该集群一般不用做升级,但因版本实在太旧还是考虑下升级。
注意:RKE不支持回滚到以前的版本
1、查看rke和k8s版本
登入当时部署 k8s 的 rancher 主机:prod-rancher-server-01
1)查看 rke 版本
[root@prod-rancher-server-01 deploy]# rke -v
rke version v0.2.4
2)查看 rke v0.2.4 最新支持的 k8s 版本
[root@prod-rancher-server-01 deploy]# rke config --system-images --all |grep hyperkube
rancher/hyperkube:v1.12.7-rancher1
rancher/hyperkube:v1.13.5-rancher1
rancher/hyperkube:v1.14.1-rancher1
rancher/hyperkube:v1.11.9-rancher1
上面列出是所有支持 k8s 的版本,最新为 v1.14.1
版本。
2、下载最新版rke
因现在最新的 k8s 版本已经为 v1.17.x,所以先下载 rke 版本到最新版本 v1.0.4 ,支持到最新的 k8s 版本为v1.17.2
1)下载 rke v1.0.4
wget https://docs.rancher.cn/download/rke/v1.0.4-rke_linux-amd64
2)重命名并移动到之前的存放路径
mv v1.0.4-rke_linux-amd64 /opt/rancher/cli/rke
chmod +x /opt/rancher/cli/rke
rke -v
3)查看 rke v1.0.4 最新支持的 k8s 版本
./rke config --system-images --all |grep hyperkube
rancher/hyperkube:v1.15.9-rancher1
rancher/hyperkube:v1.16.6-rancher1
rancher/hyperkube:v1.17.2-rancher1
支持最新的 k8s 版本是v1.17.2
版本。
3、升级K8S
1)修改集群YAML文件
RKE通过更改系统镜像的镜像版本来支持版本升级。例如,要改变已部署 k8s 版本,只需在部署 k8s 集群的racher-cluster.yml
中添加 system-images
部分,并把kubernetes
系统镜像rancher/hyperkube
标签设置为查到的最新v1.17.2-rancher1
即可。
[root@prod-rancher-server-01 ~]# cd /opt/rancher/deploy/
[root@prod-rancher-server-01 deploy]# vim rancher-cluster.yml
nodes:
- address: 172.16.3.241
user: rancher
role: [ "controlplane", "etcd", "worker" ]
ssh_key_path: ~/.ssh/id_rsa
- address: 172.16.3.242
user: rancher
role: [ "controlplane", "etcd", "worker" ]
ssh_key_path: ~/.ssh/id_rsa
- address: 172.16.3.243
user: rancher
role: [ "controlplane", "etcd", "worker" ]
ssh_key_path: ~/.ssh/id_rsa
private_registries:
- url: reg.nexus.wmq.com
user: admin
password: "*******"
is_default: true
system-images:
kubernetes: rancher/hyperkube:v1.17.2-rancher1
services:
etcd:
backup_config:
enabled: true
interval_hours: 1
retention: 30
2)上传镜像到仓库
因之前都是采用私有仓库离线部署的Rancher服务,并且racher-cluster.yml
指定的是私有仓库,所以需要上传最新的镜像到私有仓库。找到Rancher最新稳定版本 v2.3.5,该版本默认支持的k8s版本就是v1.17.2,下载该版本的rancher-images.txt
所有的镜像,并上传到私有仓库。
下载镜像列表文件
mkdir -p /opt/rancher/upgrade2.3.5 && cd /opt/rancher/upgrade2.3.5
wget https://github.com/rancher/rancher/releases/download/v2.3.5/rancher-images.txt
找到下载上传脚本
两个脚本见 离线安装 Rancher2.2.4 HA 集群 中2.1 准备文件
小节
rancher-save-images.sh
rancher-push-images.sh
下载镜像
chmod +x rancher-save-images.sh
./rancher-save-images.sh --image-list /opt/rancher/upgrade2.3.5/rancher-images.txt
同步镜像
chmod +x rancher-push-images.sh
./rancher-push-images.sh
reg.nexus.wmq.com
admin
******
3)升级集群
rke up --config ./rancher-cluster.yml
完成后,显示:Finished building Kubernetes cluster successfully
参考:
https://blog.csdn.net/happyzwh/article/details/91493244
https://www.bookstack.cn/read/rancher-rke/b66a152f46b163ab.md
https://www.bookstack.cn/read/rancher-rke/41f1f9eea28e8e52.md