k8s etcd备份与恢复

停止api-server(k8s的所有master节点)
复制代码
   # 所有master节点执行:
   # 停api-server

   mkdir -p tpm_api_conf
   mv  /etc/kubernetes/manifests/kube-apiserver.yaml /root/tpm_api_conf/
etcd备份(集群中某一节点)
复制代码
   # etcd备份

   ETCDCTL_API=3;/usr/local/bin/etcdctl --endpoints='https://192.168.1.30:2379' --cacert="/etc/ssl/etcd/ssl/ca.pem" --cert="/etc/ssl/etcd/ssl/admin-ks-master01.pem" --key="/etc/ssl/etcd/ssl/admin-ks-master01-key.pem" snapshot save  snapshot_20230928.db 
查看备份数据状态
复制代码
   # 查看备份数据状态

   ETCDCTL_API=3;/usr/local/bin/etcdctl --write-out=table snapshot status snapshot_20230928.db
停止etcd服务并备份数据目录(etcd所有节点)
复制代码
   # 停etcd:

   systemctl stop etcd
   mv /var/lib/etcd/ /root/etcd_bak
各个etcd节点恢复数据
复制代码
   # 节点30:

   ETCDCTL_API=3;/usr/local/bin/etcdctl snapshot restore /root/snapshot_20230928.db \
    --name etcd-ks-master01  \
    --cert="/etc/ssl/etcd/ssl/admin-ks-master01.pem" \
    --key="/etc/ssl/etcd/ssl/admin-ks-master01-key.pem"  \
    --cacert="/etc/ssl/etcd/ssl/ca.pem"   \
    --endpoints="https://127.0.0.1:2379" \
    --initial-advertise-peer-urls="https://192.168.1.30:2380"  \
    --initial-cluster="etcd-ks-master01=https://192.168.1.30:2380,etcd-ks-master02=https://192.168.1.31:2380,etcd-ks-master03=https://192.168.1.32:2380" \
    --data-dir=/var/lib/etcd
    
   # 节点31:

   ETCDCTL_API=3;/usr/local/bin/etcdctl snapshot restore /root/snapshot_20230928.db \
    --name etcd-ks-master02  \
    --cert="/etc/ssl/etcd/ssl/admin-ks-master02.pem" \
    --key="/etc/ssl/etcd/ssl/admin-ks-master02-key.pem"  \
    --cacert="/etc/ssl/etcd/ssl/ca.pem"   \
    --endpoints="https://127.0.0.1:2379" \
    --initial-advertise-peer-urls="https://192.168.1.31:2380"  \
    --initial-cluster="etcd-ks-master01=https://192.168.1.30:2380,etcd-ks-master02=https://192.168.1.31:2380,etcd-ks-master03=https://192.168.1.32:2380" \
    --data-dir=/var/lib/etcd
    
   # 节点32:

   ETCDCTL_API=3;/usr/local/bin/etcdctl snapshot restore /root/snapshot_20230928.db \
    --name etcd-ks-master03  \
    --cert="/etc/ssl/etcd/ssl/admin-ks-master03.pem" \
    --key="/etc/ssl/etcd/ssl/admin-ks-master03-key.pem"  \
    --cacert="/etc/ssl/etcd/ssl/ca.pem"   \
    --endpoints="https://127.0.0.1:2379" \
    --initial-advertise-peer-urls="https://192.168.1.32:2380"  \
    --initial-cluster="etcd-ks-master01=https://192.168.1.30:2380,etcd-ks-master02=https://192.168.1.31:2380,etcd-ks-master03=https://192.168.1.32:2380" \
    --data-dir=/var/lib/etcd
etcd节点修改数据目录权限并启动etcd
复制代码
   # 所有节点执行:
   # 修改属组
   chown -R etcd:root /var/lib/etcd/

   # 启动etcd
   systemctl start etcd
启动api-server(所有k8s master节点)
复制代码
   # etcd启动完成后,恢复api配置
   mv  /root/tpm_api_conf/kube-apiserver.yaml   /etc/kubernetes/manifests/kube-apiserver.yaml 
相关推荐
张忠琳18 小时前
【client-go v0.36.1】(store Part 3)Store 超深度分析 — 集成模式、完整数据流、不变量、与 DeltaFIFO 协作
云原生·kubernetes·informer·store·client-go
赵渝强老师21 小时前
【赵渝强老师】Kubernetes(K8s)中的金丝雀升级
linux·docker·云原生·容器·kubernetes
鹤落晴春21 小时前
【K8s】配置存储卷
云原生·容器·kubernetes
张忠琳1 天前
【client-go v0.36.1】(DeltaFIFO Part 1)DeltaFIFO 超深度分析 — 模块定位、类结构、接口层次、构造与初始化
云原生·kubernetes·deltafifo·informer·client-go
原来是猿1 天前
Docker 【 技术架构(1)】
docker·容器·架构
ba_pi1 天前
k8s删除pod
linux·容器·kubernetes
木雷坞1 天前
Qdrant Docker 部署教程:数据卷、API Key 和集合初始化
运维·docker·容器·知识图谱
张忠琳1 天前
【client-go v0.36.1】tools/cache 深度分析(下篇)— RealFIFO 深度、集成架构、生命周期、设计模式总结
云原生·kubernetes·cache·informer·client-go
张忠琳1 天前
【client-go v0.36.1】(store Part 2)Store 超深度分析 — threadSafeMap 核心、索引体系、RV追踪、事务机制
云原生·kubernetes·informer·store·client-go
sbjdhjd1 天前
04(上)| k8s中的微服务
微服务·云原生·kubernetes·开源·云计算·excel·kubelet