首页 > 其他分享 >Etcd v3备份与恢复

Etcd v3备份与恢复

时间:2024-08-08 17:09:25浏览次数:12  
标签:https Etcd myapp 备份 ssl v3 master etcd ETCD

一、常见环境变量

# Environment file for etcd v3.4.13
ETCD_DATA_DIR=/var/lib/etcd
ETCD_ADVERTISE_CLIENT_URLS=https://192.168.1.190:2379 #本机IP和端口
ETCD_INITIAL_ADVERTISE_PEER_URLS=https://192.168.1.190:2380 #本机IP和端口
ETCD_INITIAL_CLUSTER_STATE=existing
ETCD_METRICS=basic
ETCD_LISTEN_CLIENT_URLS=https://192.168.1.190:2379,https://127.0.0.1:2379 #本机IP和端口加127
ETCD_INITIAL_CLUSTER_TOKEN=k8s_etcd
ETCD_LISTEN_PEER_URLS=https://192.168.1.190:2380 #本机IP和端口
ETCD_NAME=etcd-master
ETCD_PROXY=off
ETCD_ENABLE_V2=true
ETCD_INITIAL_CLUSTER=etcd-master=https://192.168.1.190:2380 #集群中所有节点的信息,格式为 节点1名称=https://节点1 IP:2380,节点2名称=https://节点2 IP:2380,节点3名称=https://节点3 IP:2380" .....
ETCD_ELECTION_TIMEOUT=5000
ETCD_HEARTBEAT_INTERVAL=250
ETCD_AUTO_COMPACTION_RETENTION=8
ETCD_SNAPSHOT_COUNT=10000

# TLS settings
ETCD_TRUSTED_CA_FILE=/etc/ssl/etcd/ssl/ca.pem
ETCD_CERT_FILE=/etc/ssl/etcd/ssl/member-master.pem
ETCD_KEY_FILE=/etc/ssl/etcd/ssl/member-master-key.pem
ETCD_CLIENT_CERT_AUTH=true

ETCD_PEER_TRUSTED_CA_FILE=/etc/ssl/etcd/ssl/ca.pem
ETCD_PEER_CERT_FILE=/etc/ssl/etcd/ssl/member-master.pem
ETCD_PEER_KEY_FILE=/etc/ssl/etcd/ssl/member-master-key.pem
ETCD_PEER_CLIENT_CERT_AUTH=True

# CLI settings
ETCDCTL_ENDPOINTS=https://127.0.0.1:2379 #etcd服务器的地址和端口,可以写多个,格式为https://节点1 IP:2379,https://节点2 IP:2379,https://节点3 IP:2379"
ETCDCTL_CA_FILE=/etc/ssl/etcd/ssl/ca.pem
ETCDCTL_KEY_FILE=/etc/ssl/etcd/ssl/admin-master-key.pem
ETCDCTL_CERT_FILE=/etc/ssl/etcd/ssl/admin-master.pem

二、etcd常用操作

1.设置环境变量(避免每次执行命令时都有带上)

#证书的路径可以查看etcd和api-server的进程中相关证书配置 
export ETCDCTL_API=3 
export ETCDCTL_CACERT=/etc/ssl/etcd/ssl/ca.pem
export ETCDCTL_CERT=/etc/ssl/etcd/ssl/admin-master.pem
export ETCDCTL_KEY=/etc/ssl/etcd/ssl/admin-master-key.pem
export ETCDCTL_ENDPOINTS=https://127.0.0.1:2379 #根据实际情况配置,我这里是单机,如果是集群则写上其他服务器地址

2.查看日志(以systemd方式部署)

#查看服务状态
systemctl status etcd 
#查看详细日志
journalctl -u etcd

3.增删改查

1.查
#查看所有的key
etcdctl   get / --prefix --keys-only

#查看指定key的值 这个至是default空间下myapp-deploy-675cfc4c45-f6k6c pod
etcdctl  get /registry/pods/default/myapp-deploy-675cfc4c45-f6k6c


2.删

#删除数据,可以看到删除pod时没有watch没有看到删除pod的阶段,通过etcd删除比kubectl删除更快5
[root@master ~]# etcdctl  del  /registry/pods/default/myapp-deploy-675cfc4c45-f6k6c
1

#另起一个窗口
[root@master ~]# kubectl get pods -w
NAME                            READY   STATUS    RESTARTS   AGE
myapp-deploy-675cfc4c45-f6k6c   1/1     Running   0          25d
myapp-deploy-675cfc4c45-fnctb   1/1     Running   0          25d
myapp-deploy-675cfc4c45-lpf6q   1/1     Running   0          25d
myapp-deploy-675cfc4c45-lv27s   1/1     Running   0          25d
myapp-deploy-675cfc4c45-s7nl4   1/1     Running   0          25d
myapp-deploy-675cfc4c45-f6k6c   1/1     Running   0          25d
myapp-deploy-675cfc4c45-hfht7   0/1     Pending   0          0s
myapp-deploy-675cfc4c45-hfht7   0/1     Pending   0          0s
myapp-deploy-675cfc4c45-hfht7   0/1     ContainerCreating   0          0s
myapp-deploy-675cfc4c45-hfht7   0/1     ContainerCreating   0          2s
myapp-deploy-675cfc4c45-hfht7   1/1     Running             0          3s

增(改)
#写入数据,对已存在的key写入表示修改
etcdctl put /test helloWorld

4.集群节点状态查看

#查看集群节点健康状态
etcdctl  --write-out=table endpoint health

#查看集群节点当前状态
etcdctl  --write-out=table  endpoint status 

三、etcd备份与恢复

1.备份

etcdctl  snapshot save /data/etcd_backup/etcd-bak-$(date +%F).db 

2.恢复

 每一台服务器进行操作
 # 停止apiserver服务,如果是systemd 则使用systemd,二进制则根据实际情况,这里是kubeadmin部署,为静态pod
 cd /etc/kubernetes/manifests/  mv kube-apiserver.yaml  kube-apiserver.yaml-bak
 
 # 停止etcd服务
 systemctl stop etcd 
 rm -rf /var/lib/etd  #必须,否则需要修改etcd数据目录配置,因为恢复的时候数据目录必须不存在
 
 #恢复数据 --data-dir指向的目录不能提前存在  etcd-master 当前节点etcd名称,每一台都不一样 数据使用同一份,如果是集群的话
ETCDCTL_API=3 etcdctl  --initial-cluster etcd-master=https://192.168.1.190:2380 --initial-advertise-peer-urls https://192.168.1.190:2380 snapshot restore back.db --data-dir=/var/lib/etcd/ --name etcd-master

 # 恢复etcd服务
systemctl start etcd 
 
 # 恢复apiserver服务
mv kube-apiserver.yaml-bak  kube-apiserver.yaml

 

标签:https,Etcd,myapp,备份,ssl,v3,master,etcd,ETCD
From: https://www.cnblogs.com/panwenbin-logs/p/18349303

相关文章

  • 河道治理漂浮物识别监测系统 YOLOv3
    河道治理漂浮物识别监测系统通过深度视觉分析技术,河道治理漂浮物识别监测系统实时检测着河道水面是否存在漂浮物、水浮莲以及生活垃圾等。河道治理漂浮物识别监测系统识别到河道水面存在水藻垃圾等漂浮物,系统立即抓拍存档并同步发出报警。河道治理漂浮物识别监测系统可以提升传......
  • 微信电脑版v3.9.11.17 防撤回版 多开版
    版本特色:1、看到对方撤回的消息2、多账号可正常登录修改原理,如下图:使用说明:解压后,双击start_Wechat.exe来运行软件下载地址:Wechat防撤回版v3.9解压密码:helloh下载时可能会有广告,忽略,等下载结束即可部分杀软会因该版本软件未购买签名证书(如下图)而阻止运行,可通过暂时......
  • Linux命令速查表:压缩备份命令
    ar功能说明:建立或修改备存文件,或是从备存文件中抽取文件。语法:ar[-dmpqrtx][cfosSuvV][a<成员文件>][b<成员文件>][i<成员文件>][备存文件][成员文件]补充说明:ar可让您集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限。参数:指令参......
  • 20240802每人近可能看懂AI新闻无图版备份
    20240802每人近可能看懂AI新闻无图版备份大家好,现在4-5级号,因为粉丝数不够1000粉丝关注,链接真的不太好发,群里找会做本地AI包集成的和开源素材,欢迎加Q群389908620,每天有几十人看,麻烦点赞关注转发,3连1下好吗-靠这个挣点一周一杯咖啡钱,每天更新需要3个小时,很费时,至少叫这里关注者到1......
  • 主从备份及安装准备
    主从复制学习内容1.备份的三种类型1.热备份2.逻辑备份3.物理备份2.情景    ⼊职企业,发现企业架构为⼀主多从,但是两台从服务器和主库不同步,但是每天会全库北⽅主服务器上的数据到从服务器,由于数据量不是很⼤,所以没有⼈处理主从不同步的问题。2.技术1.......
  • 织梦dedecms备份的数据库文件在哪里
    因为不同虚拟主机空间的mysql数据库名称是各不相同的(因为其前缀不一样的,用过就知道了),所以要首先备份数据库,然后放到新空间还原,再重新生成html即可。(注意:新空间和原站的MYSQL数据库的版本必须同样是4.1以上,或同是4.0、4.0以下,以免出现问题。)具体的步骤:1、登陆原站后台,备份数......
  • 怎么一键自动备份WordPress博客
    插件名称:BackWPup●第1步插件安装完毕启动后,点击【BackWPup】→【AddNew】,进入后请设定排程名称,接着请勾选要备份的类型(在此只选择DatabaseBackup资料库备份),接着请选择资料表(预设全选),再来请选择备份送达地点(在此选「BackuptoE-Mail」),之后请设定排程时间,然后点﹝SaveChanges﹞......
  • SSM高校就业管理系统157v3 系统界面在最后面
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统内容:学生,招聘信息,学生应聘,企业,班级,教师开题报告内容一、研究背景与意义随着高校招生规模的不断扩大,毕业生就业问题日益突出。传统招聘方式已难以满足......
  • etcd单节点部署
    环境:OS:Centos7etcd:etcd-v3.5.15 1.下载地址https://github.com/etcd-io/etcd/releases/tag/v3.5.15直接下载编译好的二进制文件包,下载文件如下:etcd-v3.5.15-linux-amd64.tar.gz2.解压安装[root@host135milvus]#tar-xvfetcd-v3.5.15-linux-amd64.tar.gz[root@host135......
  • 简单的mysqldump备份(windows)
    备份小数据库用mysql自带的mysqldump就可以完成备份,写一个简单的适用于windows下跑的脚本。策略每天凌晨1点全备,保留7天备份脚本dbbak.batsetday=%date:~0,4%%date:~5,2%%date:~8,2%setlocalip=xxx.xxx.xxx.xxxsetbackup_path=D:\dbbak\%localip%setbackup_dir=D:\dbb......