第一种在etcd单独部署的机器上,有个etcdctl工具,可以管理etcd集群,我的etcd集群就是通过这篇文章创建的 基于kubeasz二进制部署kubernetes高可用集群-CSDN博客
一、etcd配置文件
二、显示成员列表
三、查看etcd的集群状态
四、检查心跳信息
四、通过etcdctl查看pod、namespace等的数据
五、etcdctl增删改查数据
例如;删除一个pod
六、etcd的watch机制
kube-scheduler watch etcd的/registry/events/的数据,有需要创建pod、deployment等的数据时,及时调度给可用的node
kube-proxy会watch etcd的/registry/services/值,及时消费service创建的数据,及时根据etcd接收到的service数据创建对应的iptables或ipvs规则
七、备份与恢复
备份
恢复到一个新的目录
这个目录必须是一个空目录
通过kubeasz备份和恢复集群,在kubeaze的deploy机器上,执行ezctl backup命令
备份的文件在cluster/k8s-cluster1/backup目录下
通过ezctl恢复数据时,role中写死了恢复数据使用的备份文件名为snapshot.db,这时需要将恢复的db文件重命名为snapshot.db文件;
恢复过程会停止kubernetes的所有服务,恢复完成后,验证etcd的状态,只有一个是leader才对
role修复了集群恢复的bug
etcd状态正常后,启动kubernetes的服务,查看pods、deployment等资源。
在kubernetes上pod跑的etcd集群,可以通过velero工具进行备份和恢复,这个工具还可以基于namespace备份和恢复数据
扫一扫关注作者公众号