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"

 

posted @ 2023-02-13 17:40  ZANAN  阅读(24)  评论(0编辑  收藏  举报