ETCD备份与恢复
kubenenetes ETCD备份及恢复
对于kubernetes etcd的备份与恢复,总的流程是不变的,对于不同的部署方式,操作上可能略有同。流程如下:
- 备份etcd
- 停止kube-apiserver
- 停止etcd
- 恢复etcd
- 启动etcd
- 启动kube-apiserver
- 检查资源状态
使用kubesphere kk工具部署的kubernetes和使用sealos部署的kubernetes在etcd的部署上面略有不同,endpoint、证书位置等参数不同。kk部署的etcd,这些环境变量都存在/etc/etcd.env中。sealos部署的etcd,需要用户去/etc/kubernetes/manifest/etcd.yml查找相关配置。
备份etcd
在任意一台master上执行即可
1 | etcdctl --endpoints=1x.xxx.5.148:2379 \ |
恢复etcd
停止apiserver服务
此操作需要在所有master上执行。
kube-apiserver的启动方式是静态pod,所以只需将kube-apiserver的yml文件移除/etc/kubernetes/manifests,kubelete就会自动删除kube-apiserver的docker 容器。
1 | mkdir /etc/kubernetes/manifests.bak |
停止etcd服务
此操作需要在所有master上执行
1 | systemctl stop etcd |
恢复etcd数据
1 | #拷贝备份数据到另外两台master |
启动etcd
每台master执行
1 | systemctl start etcd |
启动kube-apiserver
每台master执行
1 | mv /etc/kubernetes/manifests.bac/kube-apiserver.yaml /etc/kubernetes/manifests |
(93条消息) Kubernetes生产实践系列之七:通过etcd备份和恢复Kubernetes集群状态_cloudvtech的博客-CSDN博客