• kubernetes集群编排——etcd


    备份

    从镜像中拷贝etcdctl二进制命令

    [root@k8s1 ~]# docker run -it --rm reg.westos.org/k8s/etcd:3.5.6-0 sh

    输入ctrl+pq快捷键,把容器打入后台

    获取容器id

    [root@k8s1 ~]# docker ps

    从容器拷贝命令到本机

    docker container cp c7e28b381f07:/usr/local/bin/etcdctl /usr/local/bin
    [root@k8s1 ~]# which etcdctl

    删除容器

    [root@k8s1 ~]# docker rm -f c7e28b381f07

    备份

    [root@k8s1 ~]# ETCDCTL_API=3 etcdctl --endpoints 192.168.92.12:2379 --cert=/root/etcd/server.crt --key=/root/etcd/server.key --cacert=/root/etcd/ca.crt  snapshot save /root/etcd/snapshotdb

    查看快照状态

    [root@k8s1 ~]# ETCDCTL_API=3 etcdctl --endpoints 192.168.92.12:2379 --cert=/root/etcd/server.crt --key=/root/etcd/server.key --cacert=/root/etcd/ca.crt --write-out=table snapshot status /root/etcd/snapshotdb

    删除集群资源

    1. [root@k8s2 helm]# helm uninstall myapp
    2. [root@k8s2 helm]# kubectl get pod

    恢复

    停止所有核心组件

    1. [root@k8s2 pki]# cd /etc/kubernetes/manifests/
    2. [root@k8s2 manifests]# ls
    3. [root@k8s2 manifests]# mv * /mnt/

    移除yaml文件后对应容器自动停止

    [root@k8s2 manifests]# crictl ps

    从快照恢复

    1. [root@k8s2 manifests]# cd /var/lib/etcd/
    2. [root@k8s2 etcd]# ls
    3. [root@k8s2 etcd]# mv member/ /tmp/

    1. [root@k8s2 etcd]# ETCDCTL_API=3 etcdctl snapshot restore --data-dir /var/lib/etcd/ /tmp/snapshotdb
    2. [root@k8s2 etcd]# ls

    重启所有组件

    1. [root@k8s2 etcd]# cd /etc/kubernetes/manifests/
    2. [root@k8s2 manifests]# mv /mnt/* .

    yaml文件移动回来后容器自动启动

    [root@k8s2 manifests]# crictl ps

    所有集群节点重启kubelet服务

    1. [root@k8s2 manifests]# reboot
    2. [root@k8s3 ~]# reboot
    3. [root@k8s4 ~]# reboot

    看到pod恢复表示成功

    [root@k8s2 ~]# kubectl get pod

  • 相关阅读:
    Spring6.0全新发布,快来看看
    Vue2 测试解决方案
    抖音热搜榜:探索热门话题,引领潮流新风尚
    IDEA插件开发(13)---Dynamic Plugins
    国辰智企MES系统优化企业管理,让生产制造更高效
    有效利用时间,拒绝无效努力
    刷题记录:牛客NC16856[NOI1999]钉子和小球
    NC20583 [SDOI2016]齿轮
    这些并发容器的坑,你要谨记!
    四叉堆在GO中的应用-定时任务timer
  • 原文地址:https://blog.csdn.net/dgffd/article/details/134426562