zoukankan      html  css  js  c++  java
  • k8s单master集群通过备份etcd还原集群

    准备环境

    通过kubeadm 安装的单master kubernetes 1.19+ 集群

    容器环境:containerd

    客户端工具:kubeadm、kubectl、etcdctl、crictl

    备份文件

    etcd snap快照 xxx.db

    /etc/kubernetes/目录下的所有文件(证书,manifest文件)

    用户主目录下 .kube/config文件(kubectl连接认证)

    /var/lib/kubelet/目录下所有文件(plugins容器连接认证)

    还原操作

    1、在master节点执行 kubeadm reset 

    2、清理掉flannel相关网络配置

    rm -rf /var/lib/cni/
    rm -rf /var/lib/kubelet/*
    rm -rf /etc/cni/
    ifconfig cni0 down
    ifconfig flannel.1 down
    ip link delete cni0
    ip link delete flannel.1

    2、在master节点执行 kubeadm  init

    3、集群初始化成功后 systemctl stop kubelet.service

    4、crictl ps 获取所有运行中的容器,crictl stop 停止kube-system相关的所有容器

    5、删除etcd数据库 rm -rf var/lib/etcd 

    6、通过etcdctl还原  etcdctl snapshot restore  xxx.db --data-dir=/var/lib/etcd

    7、还原kubernetes和kubelet目录 cp -r kubernetes /etc/ && cp -r  kubelet /var/lib/

    8、还原kubectl连接认证 cp config $HOME/.kube/config

    9、重启kubelet.service   systemctl start kubelet.service

    10、等待数秒后执行 kubectl cluster-info 检查集群状态,如果都是running则说明master还原成功

  • 相关阅读:
    .NET Core 服务调用 RPC
    从Docker 到 Kubernatetes 的跃迁之路
    同步异步-多线程梳理
    Net的微服务选型之路
    Visual Studio 2019安装SSIS
    HL7协议的基本语法
    vue学习笔记
    开发常用的部分sql语句总结
    VSPD虚拟串口来调试通信接口程序
    SSRS报表工具之合并行数据
  • 原文地址:https://www.cnblogs.com/gmmy/p/14216076.html
Copyright © 2011-2022 走看看