【CKA】四、etcd的备份与恢复

4、etcd的备份与恢复

1. 考题内容:

2. 答题思路:

1、ssh到有etcdctl、etcdutl命令的节点

2、备份时注意添加证书并保证路径正确

3、备份完可以验证下

4、恢复备份时要停服务,恢复备份后重启kubelet

题型是一样的,我考的证书的路径是

ca证书:/etc/kubernetes/pki/etcd/ca.crt

客户端证书:/etc/kubernetes/pki/etcd/peer.crt

客户端秘钥:/etc/kubernetes/pki/etcd/peer.key

其他都一模一样。

3. 官网地址:

https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/configure-upgrade-etcd/

4. 考题答案:

切换环境

kubectl config use-context k8s

#按题目要求ssh到有etcdctl、etcdutl命令的节点

ssh k8s-node-0

备份

复制代码
# 1).备份命令
ETCDCTL_API=3 etcdctl --endpoints 127.0.0.1:2379 \
  --cacert=/etc/kubernetes/pki/etcd/ca.crt \
  --cert=/etc/kubernetes/pki/etcd/peer.crt \
  --key=/etc/kubernetes/pki/etcd/peer.key \
  snapshot save /srv/data/etcd-snapshot.db

# 2).验证备份的快照
etcdutl --write-out=table snapshot status /srv/data/etcd-snapshot.db

恢复

复制代码
# 1).创建/opt/backup目录
mkdir /opt/backup

# 2).备份集群的yaml文件,同时也停止这些服务
mv  /etc/kubernetes/manifests/*  /opt/backup/

# 3).恢复备份
ETCDCTL_API=3 etcdctl --endpoints 127.0.0.1:2379 \
  --cert=/etc/kubernetes/pki/etcd/server.crt \
  --key=/etc/kubernetes/pki/etcd/server.key \
  --cacert=/etc/kubernetes/pki/etcd/ca.crt \
  --data-dir /var/lib/etcd-restore  snapshot restore /data/backup/etcd-snapshot-previous.db

# 4).修改etcd.yaml
vim /opt/backup/etcd.yaml
...
volumes:
- hostPath:
    path: /etc/kubernetes/ki/etcd
    type: DirectoryOrCreate
  name: etcd-certs
- hostPath:
    path: /var/lib/etcd-restore 			# 将volume 配置的 path:/var/lib/etcd 改成 /var/lib/etcd-restore

# 5).恢复备份的yaml文件
mv /opt/backup/* /etc/kubernetes/manifests/

# 6).重启kubelet
systemctl restart kubelet

5. 验证:

复制代码
# 1).检查集群环境etcd的状态
kubectl get pod -A 
# 2).检查etcd恢复目录是否有数据
ls /var/lib/etcd-restore
相关推荐
运维栈记8 小时前
虚拟化网络的根基-网络命名空间
网络·docker·容器
lbb 小魔仙9 小时前
【Linux】云原生运维效率提升:Linux 终端工具链(kubectl + tmux + fzf)组合拳教程
linux·运维·云原生
Joren的学习记录10 小时前
【Linux运维大神系列】Kubernetes详解3(kubeadm部署k8s1.23高可用集群)
linux·运维·kubernetes
Hellc00710 小时前
Docker网络冲突排查与解决方案:完整指南
网络·docker·容器
hanyi_qwe10 小时前
发布策略 【K8S (三)】
docker·容器·kubernetes
眠りたいです10 小时前
Docker核心技术和实现原理第二部分:docker镜像与网络原理
运维·网络·docker·容器
Mr. Cao code12 小时前
Docker数据管理:持久化存储最佳实践
java·docker·容器
Cyber4K13 小时前
【Kubernetes专项】DockerFile、数据持计划、网络模式及资源配额
运维·网络·云原生·容器·kubernetes
Joren的学习记录14 小时前
【Linux运维疑难杂症】k8s集群创建calico网络失败
linux·运维·kubernetes
鲨莎分不晴14 小时前
Docker 网络深度解析:打破容器的“孤岛效应”
网络·docker·容器