Rancher HA 备份和恢复

实例

介绍如何创建Rancher数据备份以及如何在灾难情况下进行数据恢复

以RKE构建k8s集群 和 RKE 0.2.1版本为例:

 k8s集群:

host

role

 

10.10.110.155nginx前端负载
10.10.110.156controlplane,etcd,worker 
10.10.110.157controlplane,etcd,worker 
10.10.110.158controlplane,etcd,worker故障节点、恢复节点

注:由于资源不足,模拟 10.10.110.158 节点故障,同时对10.10.110.158节点进行初始化,再对此节点进行恢复

首先需要在k8s集群创建应用,对比恢复后应用是否存在.

1、创建快照

rke etcd snapshot-save --name snapshot.db --config rancher-cluster.yml

RKE会获取每个etcd节点的快照,并保存在每个etcd节点的/opt/rke/etcd-snapshots目录下

2、备份快照到安全位置

包括  rancher-cluster.yml ,rancher-cluster.rkestate 还有 snapshot.db

3、模拟 10.10.110.158 故障

  对 此节点进行初始化操作:

  # 删除所有容器

docker rm -f $(docker ps -qa)

# 删除所有容器卷

docker volume rm $(docker volume ls -q)

# 删除残留路径

sudo   rm -rf /etc/ceph  /etc/cni /opt/cni  /run/secrets/kubernetes.io  /run/calico  /run/flannel  /var/lib/calico  /var/lib/cni  /var/lib/kubelet  /var/log/containers  /var/log/pods  /var/run/calico

# 清理残留进程

port_list=`80 443 6443 2376 2379 2380 8472 9099 10250 10254`

for port in $port_list

do

    pid=`netstat -atlnup|grep $port |awk '{print $7}'|awk -F '/' '{print $1}'|grep -v -|sort -rnk2|uniq`

   if [[ -n $pid ]];then

          kill -9 $pid

   fi

done

pro_pid=`ps -ef |grep -v grep |grep kube|awk '{print $2}'`

if [[ -n $pro_pid ]];then

    kill -9 $pro_pid

fi

节点k8s容器删除之后,此节点变为故障节点,同时此节点经过初始化可以作为新节点进行恢复

4、复制快照到恢复节点

恢复节点可以是全新的节点,或者是之前集群中经过初始化的某个节点

10.10.110.158已经初始化,可以作为恢复节点

在此节点,创建快照目录:

mkdir -p /opt/rke/etcd-snapshots/

复制快照备份到此目录下

5、设置rke配置文件

nodes:
    - address: 10.10.110.158              #恢复节点
       user: jyapp
        role: [controlplane,worker,etcd]
    - address: 10.10.110.156
        user: jyapp
        role: [controlplane,worker,etcd]
    - address: 10.10.110.157
        user: jyapp
       role: [controlplane,worker,etcd]
 

注:所有etcd节点都要有,其它配置全部注释(Rancher部署和设置配置已在etcd数据库中,恢复不再需要)

6、恢复ETCD数据

rke etcd snapshot-restore --name snapshot.db --config rancher-cluster.yml

7、恢复集群

rke up --config rancher-cluster.yml

至此,集群数据已恢复,rancher HA 可正常使用,可对比 故障前应用是否存在。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值