Rancher RKE升级K8S集群

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

posted @ 2020-02-21 16:43  weavepub  阅读(...)  评论(...编辑  收藏
顶部