之前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