使用etcdctl操作etcd
程序员文章站
2022-07-13 22:10:24
...
etcdctl安装
下载并解压二进制文件
$curl -L https://github.com/coreos/etcd/releases/download/v3.3.2/etcd-v3.3.2-linux-amd64.tar.gz -o etcd-v3.3.2-linux-amd64.tar.gz
$tar zxf etcd-v3.3.2-linux-amd64.tar.gz
解压后是一些文档和两个二进制文件etcd和etcdctl。etcd是server端,etcdctl是客户端。
将解压后的etcd和etcdctl移动到$GOPATH/bin目录下,可以直接使用etcd和etcdctl命令
$mv etcd-v3.3.2-linux-amd64/etcd* /usr/local/bin/
restapi简单使用
v2版本
calico使用的是v2版本的api。
可以使用/etc/ssl/etcd/ssl下的k8s集群的etcd证书也可以使用/etc/calico/certs/下calico自己的etcd证书。
获取etcd member列表:
etcdctl --endpoints=https://10.142.233.80:2379 --ca-file=/etc/ssl/etcd/ssl/ca.pem --cert-file=/etc/ssl/etcd/ssl/node-10.142.233.80.pem --key-file=/etc/ssl/etcd/ssl/node-10.142.233.80-key.pem member list
查看 /calico节点
ETCDCTL_API=2 etcdctl --endpoints=https://10.142.233.80:2379 --ca-file=/etc/ssl/etcd/ssl/ca.pem --cert-file=/etc/ssl/etcd/ssl/node-10.142.233.80.pem --key-file=/etc/ssl/etcd/ssl/node-10.142.233.80-key.pem ls /calico
v3版本
k8s会使用etcd v3版本的API记录数据。而默认etcdctl是使用v2版本的API,查看不到v3的数据。设置环境变量ETCDCTL_API=3后就OK了:
export ETCDCTL_API=3
获取etcd member列表:
etcdctl --endpoints=https://10.142.233.80:2379 --cacert=/etc/ssl/etcd/ssl/ca.pem --cert=/etc/ssl/etcd/ssl/node-10.142.233.80.pem --key=/etc/ssl/etcd/ssl/node-10.142.233.80-key.pem member list
获取所有key:
etcdctl --endpoints=https://10.142.233.80:2379 --cacert=/etc/ssl/etcd/ssl/ca.pem --cert=/etc/ssl/etcd/ssl/node-10.142.233.80.pem --key=/etc/ssl/etcd/ssl/node-10.142.233.80-key.pem get "" --prefix=true
获取前缀是/registry/pods/kube-system/prometheus的key:
etcdctl --endpoints=https://10.142.233.80:2379 --cacert=/etc/ssl/etcd/ssl/ca.pem --cert=/etc/ssl/etcd/ssl/node-10.142.233.80.pem --key=/etc/ssl/etcd/ssl/node-10.142.233.80-key.pem get /registry/pods/kube-system/prometheus --prefix=true
获取具体key:
etcdctl --endpoints=https://10.142.233.80:2379 --cacert=/etc/ssl/etcd/ssl/ca.pem --cert=/etc/ssl/etcd/ssl/node-10.142.233.80.pem --key=/etc/ssl/etcd/ssl/node-10.142.233.80-key.pem get /registry/pods/kube-system/prometheus-c78dbd66d-hkfcf (--prefix=true)
删除具体key:
etcdctl --endpoints=https://10.142.233.80:2379 --cacert=/etc/ssl/etcd/ssl/ca.pem --cert=/etc/ssl/etcd/ssl/node-10.142.233.80.pem --key=/etc/ssl/etcd/ssl/node-10.142.233.80-key.pem del /registry/pods/kube-system/prometheus-c78dbd66d-hkfcf
更多使用信息请见官方文档
上一篇: Etcd 高可用分布式键值数据库
下一篇: consul键值对操作
推荐阅读
-
使用docker -v 和 Publish over SSH插件实现war包自动部署到docker的操作步骤
-
python使用点操作符访问字典(dict)数据的方法
-
Hadoop学习(7)-hive的安装和命令行使用和java操作
-
Navicat(MySQL 图形化操作工具)图文使用教程(新建用户)
-
在Python中操作字符串之startswith()方法的使用
-
Yii 框架使用Forms操作详解
-
在Python中操作列表之List.append()方法的使用
-
Yii 框架使用Gii生成代码操作示例
-
Java使用Jdbc连接Oracle执行简单查询操作示例
-
教你如大神般使用会声会影x5 会声会影操作小技巧分享