etcd 备份还原

这篇具有很好参考价值的文章主要介绍了etcd 备份还原。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

etcd 备份还原

1. 查看 etcdctl 是否已经安装

# quick check if etcdctl is available or not
ETCDCTL_API=3 etcdctl --help | head

2. 安装 etcdctl

# 获取 etcd 版本信息
kubectl exec -it etcd-master -n kube-system -- /bin/sh -c 'ETCDCTL_API=3 /usr/local/bin/etcd --version' | head

# 下载
export RELEASE="3.4.3"
https://github.com/etcd-io/etcd/releases/download/v${RELEASE}/etcd-v${RELEASE}-linux-amd64.tar.gz

# 解压
tar -zxvf etcd-v${RELEASE}-linux-amd64.tar.gz

# 将 etcdctl 拷贝到 、usr/local/bin 目录
cd etcd-v${RELEASE}-linux-amd64
cp etcdctl /usr/local/bin

3. 备份

# create a secret
kubectl create secret generic test-secret \
 --from-literal=username='svcaccount' \
 --from-literal=password='password' 
 
 # Verify we are connecting to the right cluster ... define your endpoints and keys 
 ENDPOINT=https://127.0.0.1:2379
 ETCDCTL_API=3 etcdctl --endpoints=$ENDPOINT \
     --cacert=/etc/kubernetes/pki/etcd/ca.crt \
     --cert=/etc/kubernetes/pki/etcd/server.crt \
     --key=/etc/kubernetes/pki/etcd/server.key \
     member list

# Take the backup 
ETCDCTL_API=3 etcdctl --endpoints=$ENDPOINT \
     --cacert=/etc/kubernetes/pki/etcd/ca.crt \
     --cert=/etc/kubernetes/pki/etcd/server.crt \
     --key=/etc/kubernetes/pki/etcd/server.key \
    snapshot save /var/lib/dat-backup.db
 
 # Read the metadata from the backup/snapshot to print out the snapshot status 
 ETCDCTL_API=3 etcdctl --write-out=table snapshot status /var/lib/dat-backup.db

4. 还原

# Delete the secrets
 kubectl delete secret test-secret
 
 # Restore the backup 
  ETCDCTL_API=3 etcdctl snapshot restore /var/lib/dat-backup.db
  
  # Confirm our data is in the restore directory, you should see default.etcd 
  ls -l
  
  # Move the old etcd data to a safe location 
  mv /var/lib/etcd /var/lib/etcd.OLD
  
  # Restart the static pod for etcd 
  # if you use kubectl delete it will NOT restart the static pod as it is managed by the kubelet not a controller 
  docker ps | grep k8s_etcd
  CONTAINER_ID=$(docker ps | grep k8s_etcd | awk '{ print $1 }')
  echo $CONTAINER_ID
  
  # Stop the container from our etcd pod and move restored data into place
  docker stop $CONTAINER_ID
  rm -rf /var/lib/etcd/member
  mv ./default.etcd/member /var/lib/etcd

文章来源地址https://www.toymoban.com/news/detail-692285.html

到了这里,关于etcd 备份还原的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kubernetes高可用集群二进制部署(二)ETCD集群部署

    Kubernetes概述 使用kubeadm快速部署一个k8s集群 Kubernetes高可用集群二进制部署(一)主机准备和负载均衡器安装 Kubernetes高可用集群二进制部署(二)ETCD集群部署 Kubernetes高可用集群二进制部署(三)部署api-server Kubernetes高可用集群二进制部署(四)部署kubectl和kube-controller-man

    2024年02月14日
    浏览(33)
  • 二进制搭建Kubernetes集群(一)——部署etcd集群和单master

    注意:生产环境中,etcd集群和master、node节点都应该部署在不同的机器上,此处为了实验方便,将三台etcd节点分别部署在了master和node节点上了 k8s集群master01:192.168.126.27    kube-apiserver kube-controller-manager kube-scheduler etcd k8s集群master02:192.168.80.21 k8s集群node01:192.168.80.11    

    2024年02月10日
    浏览(38)
  • 云原生|kubernetes|centos7下的kubeadm部署的集群内在线部署kubesphere(外部etcd)

    本文将主要就在centos7操作系统下已有的一个利用kubeadm部署的集群内在线安装kubesphere做一个介绍,该kubernetes集群是使用的etcd外部集群。 kubernetes集群的搭建本文不做过多介绍,具体的搭建流程见我的博客: 云原生|kubernetes|kubeadm部署高可用集群(一)使用外部etcd集群_kubeadm

    2024年02月11日
    浏览(31)
  • Kubernetes(K8s)从入门到精通系列之十:使用 kubeadm 创建一个高可用 etcd 集群

    默认情况下,kubeadm 在每个控制平面节点上运行一个本地 etcd 实例。也可以使用外部的 etcd 集群,并在不同的主机上提供 etcd 实例。 可以设置HA集群: 使用堆叠控制控制平面节点,其中 etcd 节点与控制平面节点共存 使用外部 etcd 节点,其中 etcd 在与控制平面不同的节点上运行

    2024年02月14日
    浏览(44)
  • 【云原生】配置Kubernetes CronJob自动备份Clickhouse数据库(单机版)

    【云原生】配置Kubernetes CronJob自动备份MySQL数据库 Clickhouse 测试、开发环境:每天0点40分执行全库备份操作,备份文件通过StorageClass SFS存储类存放云产品 sfs卷中 在db命名空间创建pvc类型的资源: 在db命名空间创建cronjob类型的资源:

    2024年02月07日
    浏览(37)
  • linux备份与还原系统(类似window上ghost备份还原)

         在linux上进行了几年的开发工作 (qt  ros) 突然发现,现在有公司硬件、笔记本台式机一台占一个系统,导致硬件太浪费,又不能用虚拟机(有时候要链接硬件必须物理机)怎么办?     台式机:           centos7 一台 开发环境,         centos stream9一台  开

    2024年02月03日
    浏览(29)
  • etcd备份

    etcdctl  endpoint status --endpoints=https://192.168.17.1:2379,https://192.168.17.2:2379,https://192.168.17.3:2379  --cacert=/etc/kubernetes/ssl/ca.crt  --cert=/etc/kubernetes/ssl/etcd_server.crt  --key=/etc/kubernetes/ssl/etcd_server.key -w=table etcdctl   snapshot save /tmp/etcdbak-`date +%F`--endpoints=https://192.168.17.1:2379 --cacert=/etc/kubernet

    2024年01月23日
    浏览(24)
  • etcd单点部署集群及数据备份与恢复

    etcd单机集群部署 下载etcd 二进制安装包。 创建相关目录 在 /data/etcd/node1,/data/etcd/node2,/data/etcd/node3创建三个配置文件 node1.yml node2.yml node3.yml 配置文件参数解析 启动3个节点 查看集群状态 etcd备份脚本 etcd数据恢复 停止etcd 导入数据,如下 更改启动文件中data-dir为导入时的目

    2024年01月17日
    浏览(28)
  • SqlServer备份,还原,生成脚本

    SqlServer备份,还原,生成脚本 1 SqlServer备份 1.1 选择需要备份的数据库,右键菜单=》选择任务=》选择备份 如下图所示 1.2 配置备份数据库的参数,选择备份类型以及备份路径 如下图所示 此处注意【目标】也就是备份路径,可以删除和添加,但是保持这里只有一项内容,多项

    2024年02月06日
    浏览(29)
  • MySQL的备份与还原

    1、MySQL的备份说明 热备: 在数据库正在运行下进行备份,备份期间,数据库读写均可以正常进行; 温备: 数据库可用性弱于热备,备份期间,数据库只能进行读操作,不能进行写操作。 冷备: 在备份期间,应用的读写操作不可进行。 2、 基于mysqldump命令进行数据备份 数据

    2024年02月15日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包