etcd相关操作
etcd成员查看:
ETCDCTL_API=3 etcdctl --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key --endpoints="https://192.168.70.12:2379" member list #如果是集群ip可填写多个用,分开
ETCDCTL_API=3 etcdctl --cacert=ca.crt --cert=server.crt --key=server.key --endpoints="https://192.168.70.12:2379" endpoint health #节点健康状态查看
ETCDCTL_API=3 etcdctl --cacert=ca.crt --cert=server.crt --key=server.key --endpoints="https://192.168.70.12:2379" endpoint status --write-out=table #集群节点详细信息
etcd碎片整理:
ETCDCTL_API=3 etcdctl defrag --cluster --cacert=ca.crt --cert=server.crt --key=server.key --endpoints="https://192.168.70.12:2379"
etcd数据备份:
ETCDCTL_API=3 etcdctl snapshot save etcd.db --cacert=ca.crt --cert=server.crt --key=server.key --endpoints="https://192.168.70.12:2379"
etcd数据恢复:
ETCDCTL_API=3 etcdctl snapshot restore etcd.db --name master --initial-cluster=master="https://192.168.70.12:2380" --initial-advertise-peer-urls=https://192.168.70.12:2380 --cacert=ca.crt --cert=server.crt --key=server.key --data-dir=/var/lib/etcd/default.etcd
#--name指定当前节点名称 #--initial-cluster=master如有多个节点使用,分开 #--initial-advertise-peer-urls指定当前节点ip #--data-dir指定etcd的数据落盘位置
etcd增删改查:
ETCDCTL_API=3 etcdctl get / --keys-only --prefix --cacert=ca.crt --cert=server.crt --key=server.key --endpoints="https://192.168.70.12:2379" #查看所有key
ETCDCTL_API=3 etcdctl put /test_key "192.168.213.11" --cacert=ca.crt --cert=server.crt --key=server.key --endpoints="https://192.168.70.12:2379" #在根下创建一个test_key,值为192.168.213.11
ETCDCTL_API=3 etcdctl del /test_key --cacert=ca.crt --cert=server.crt --key=server.key --endpoints="https://192.168.70.12:2379" #删除这key
ETCDCTL_API=3 etcdctl watch /test_key --cacert=ca.crt --cert=server.crt --key=server.key --endpoints="https://192.168.70.12:2379" #watch机制:基于不断监看数据,发生变化就主动触发客户端通知,watch机制支持某一个key,也支持一个范围
示例备份:
#!/bin/bash find /var/lib/etcd/etcd-back-data/ -name "*.db" -mtime +5 -exec rm -rf {} \; cd /var/lib/etcd/etcd-back-data ETCDCTL_API=3 \ /usr/local/bin/etcdctl snapshot save etcd-$(date "+%Y-%m-%d").db \ --cacert=/root/install-kubesphere/kubekey/pki/etcd/ca.pem \ --cert=/root/install-kubesphere/kubekey/pki/etcd/admin-k8s-master.pem \ --key=/root/install-kubesphere/kubekey/pki/etcd/admin-k8s-master-key.pem \ --endpoints="https://10.21.25.13:2379"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具