Rancher版本回退

Rancher版本回退

一. 先演示回退v2.2.6

如下当前版本比较新
Rancher版本回退_第1张图片

1)先备份etcd数据

找到rancher-cluster.yaml 所在目录,注意后面–config那里用绝对路径
因为后面有清理操作,一会需要恢复备份

rke etcd snapshot-save --name 2020.8.17.db --config /root/rke/rancher-cluster.yaml

默认备份到这个路径下
在这里插入图片描述

2)下载rke

https://github.com/rancher/rke/releases/tag/v0.2.6
Rancher版本回退_第2张图片
Rancher版本回退_第3张图片

上传到要用rke命令的机器上,重名命加上版本号

mv rke_linux-amd64 v0.2.6_rke_linux-amd64
mkdir rke_command
mv v0.2.6_rke_linux-amd64 rke_command/

看一下现在的版本
在这里插入图片描述

mv /usr/bin/rke rke_command/v1.0.11_rke_linux-amd64

替换一下rke

cp rke_command/v0.2.6_rke_linux-amd64 /usr/bin/rke
chmod +x /usr/bin/rke

3)启动rke升级kubernetes local

执行一下清理命令

df -h|grep kubelet |awk -F % '{print $2}'|xargs umount 
sudo rm /var/lib/kubelet/* -rf
sudo rm /etc/kubernetes/* -rf
sudo rm /etc/cni/* -rf
sudo rm /var/lib/rancher/* -rf
sudo rm /var/lib/etcd/* -rf
sudo rm /var/lib/cni/* -rf
sudo rm /opt/cni/* -rf 
sudo ip link del flannel.1
ip link del cni0
iptables -F && iptables -t nat -F
docker ps -a|awk '{print $1}'|xargs docker rm -f
docker volume ls|awk '{print $2}'|xargs docker volume rm
systemctl restart docker
cd rke
rke up --config rancher-cluster.yaml

有可能会如下错误,需要把docker版本降级
Rancher版本回退_第4张图片
每个节点执行,不用担心前面启动的容器没了,降级完后启动docker,那些容器是自动启动的

systemctl stop docker
yum remove docker-ce  docker-ce-selinux  container-selinux docker docker-ce-cli  -y
yum -y install docker-ce-18.09.6-3.el7.x86_64 docker-ce-cli-18.09.6-3.el7.x86_64
systemctl start docker

重新up

rke up --config rancher-cluster.yaml

提示如下就好了
Finished building Kubernetes cluster successfully

kubectl  get pod -n kube-system

Rancher版本回退_第5张图片

kubectl  get cs

在这里插入图片描述

4)Rancher-server替换版本

1)重建一下helm

因为清理了容器,需要重建helm

kubectl -n kube-system create serviceaccount tiller
kubectl create clusterrolebinding tiller \
   --clusterrole cluster-admin --serviceaccount=kube-system:tiller
helm  init --skip-refresh --service-account tiller   --tiller-image   registry.cn-shanghai.aliyuncs.com/rancher/tiller:v2.15.2

上面init命令后面镜像版本,换成你们对应helm版本,可以通过helm version查看
在这里插入图片描述
查看结果
在这里插入图片描述

2)一些集群ssl配置

进到证书存放位置

cd /root/rke/certfiles/
kubectl create namespace cattle-system
kubectl  -n cattle-system \
	create secret tls tls-rancher-ingress --cert=./tls.crt --key=./tls.key
kubectl -n cattle-system \
	create secret generic tls-ca --from-file=cacerts.pem
helm repo update
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable

Rancher版本回退_第6张图片

helm fetch rancher-stable/rancher --version 2.2.6

在这里插入图片描述

tar -zxvf rancher-2.2.6.tgz
cd rancher/
helm install .   --name rancher   --namespace cattle-system   --set hostname=www.ajbn.com   --set ingress.tls.source=secret   --set privateCA=true
kubectl  get pod -n cattle-system

在这里插入图片描述

5)访问回滚版本

https://www.ajbn.com/
会有一个保存URL的提示,保存即可
当前密码是admin,然后设置一个新的密码即可

Rancher版本回退_第7张图片
如下修改密码之后,版本回滚成功,我们就不进行初始化,直接演示升级即可
Rancher版本回退_第8张图片

你可能感兴趣的:(Rancher版本回退)