以下是etcdctl命令的常用选项:--endpoints:指定etcd服务器的地址和端口。可以指定多个地址,以逗号分隔。...以下是一些常用的etcdctl命令示例:写入数据要将数据写入etcd集群中,可以使用put命令:$ etcdctl put /foo/bar "hello world"这将在etcd中创建一个名为/foo...读取数据要从etcd集群中读取数据,可以使用get命令:$ etcdctl get /foo/bar这将输出键/foo/bar的值,例如“hello world”。...更新数据要更新etcd集群中的数据,可以使用put命令::$ etcdctl put /foo/bar "hello world"$ etcdctl get /foo/barhello world$ etcdctl...删除数据要从etcd集群中删除数据,可以使用del命令:$ etcdctl del /foo/bar这将删除键/foo/bar及其对应的值。
#查看etcd是否需健康 etcdctl --endpoints=https://127.0.0.1:2379 --cert-file=/usr/.certs/etcd/cert.pem --key-file...=/usr/.certs/etcd/key.pem --ca-file=/usr/.certs/etcd/ca.pem cluster-health #列出etcd内容 etcdctl --endpoints...etcd/cert.pem --key-file=/usr/.certs/etcd/key.pem --ca-file=/usr/.certs/etcd/ca.pem ls -recursive #删除 etcdctl...key-file=/usr/.certs/etcd/key.pem --ca-file=/usr/.certs/etcd/ca.pem rm -recursive swarm key名称 #查看所有 etcdctl.../usr/.cert/cert.pem --key-file=/usr/.cert/key.pem --ca-file=/usr/.cert/ca.pem ls -recursive #查看集群健康 etcdctl
1 etcdctl 的实践应用 在前面的文章介绍了 etcd 的相关概念,单机和集群的多种安装方式,以及etcd 安全通信相关的内容。本篇主要基于 etcdctl 介绍 etcd 的常用命令和操作。...etcdctl 在两个不同的 etcd 版本下的行为方式也完全不同。 export ETCDCTL_API=2 export ETCDCTL_API=3 这里主要以讲解 API 3 为主。...etcd 项目二进制发行包中已经包含了 etcdctl 工具,etcdctl 支持的命令大体上分为数据库操作和非数据库操作两类。...$ etcdctl -h NAME: etcdctl - A simple command line client for etcd3....: etcdctl watch foo foo9# 在另外一个终端: etcdctl put foo barPUTfoobar# 在另外一个终端: etcdctl put foo1 bar1PUTfoo1bar1
1.最好在所有的master节点上执行 docker cp docker ps -a | awk ‘/k8s_etcd/{print $1}’:/usr/local/bin/etcdctl /usr/local.../bin/etcdctl 2.配置etcd参数 #注意修改ETCD节点ip cat >/etc/profile.d/etcd.sh<<'EOF' ETCD_CERET_DIR=/etc/kubernetes...=https://192.168.31.100:2379,https://192.168.31.101:2379,https://192.168.31.102:2379 alias etcd_v2="<em>etcdctl</em>...--ca-file ${ETCD_CERET_DIR}/${ETCD_CA_FILE} \ --endpoints $ETCD_EP" alias etcd_v3="<em>ETCDCTL</em>_API...=3 \ <em>etcdctl</em> \ --cert ${ETCD_CERET_DIR}/${ETCD_CERT_FILE} \ --key ${ETCD_CERET_DIR}/${ETCD_KEY_FILE
/usr/local/bin chmod +x /usr/local/bin/ 验证etcdctl是否能用,出现以下结果代表已经成功了 [root@k8s-master1 ~]#etcdctl version...etcdctl version: 3.4.14 API version: 3.4 etcd的地址是各master节点的IP 查看etcd高可用集群健康状态 [root@k8s-master1 ~]#ETCDCTL_API...=3 etcdctl --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/peer.crt --key=/etc...=3 etcdctl --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/peer.crt --key=/etc...=3 etcdctl --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/peer.crt --key=/etc
查看目录或键的内容 在上一节中已经用到了的etcdctl ls 和 etcdctl get 命令是最经常使用到的两个基本命令。...) [130187] 更新键的记录内容可以通过etcdctl update(或 etcdctl set)命令完成。...下面这个表格比较了etcdctl mk、etcdctl update和etcdctl set的异同。...命令/操作 etcdctl mk etcdctl update etcdctl set 目标键不存在 创建此键并赋值 出错:Key not found 创建此键并赋值 目标键已经存在 出错:Key already...exists 更新键的内容 更新键的内容 删除键和目录 删除键和目录的命令分别为etcdctl rm和etcdctl rmdir: core@core-01 ~ $ etcdctl rm /demo
NAME: etcdctl - A simple command line client for etcd....WARNING: Environment variable ETCDCTL_API is not set; defaults to etcdctl v2....Set environment variable ETCDCTL_API=3 to use v3 API or ETCDCTL_API=2 to use v2 API....———————————————— 常用指令: etcd --version etcdctl member list 检查集群状态 etcdctl endpoint health -- etcdctl...put key1 value1 etcdctl get key1 etcdctl get foo --print-value-only 读取foo为前缀的所有键/值 etcdctl get --prefix
ENDPOINTS put web1 value1 etcdctl --endpoints=$ENDPOINTS put web2 value2 OK etcdctl --endpoints=$ENDPOINTS...2,前缀删除 etcdctl --endpoints=$ENDPOINTS put key myvalue etcdctl --endpoints=$ENDPOINTS del key etcdctl...--endpoints=$ENDPOINTS put k1 value1 etcdctl --endpoints=$ENDPOINTS put k2 value2 etcdctl --endpoints...=$ENDPOINTS del k --prefix 2 3,事务操作txn etcdctl --endpoints=$ENDPOINTS put user1 bad etcdctl --endpoints...one p1 one/414688a849143a2a p1 % etcdctl --endpoints=$ENDPOINTS elect one p2 p2 8,查看数据状态 % etcdctl
为了减少代码量方便阅读,以下etcdctl所需要加的证书及endpoints,就不一一添加了,大家参考一下就好: ETCDCTL_API=3 etcdctl --cacert=/etc/etcd/ssl...$ ETCDCTL_API=3 etcdctl put /hello world Error: etcdserver: mvcc: database space exceeded 报了一个错Error...查询etcd是否有告警信息使用命令etcdctl alarm list: $ ETCDCTL_API=3 etcdctl alarm list memberID:2999344297460918765...=3 etcdctl alarm disarm memberID:2999344297460918765 alarm:NOSPACE $ ETCDCTL_API=3 etcdctl alarm list...``` 测试数据是否可写入 ``` $ ETCDCTL_API=3 etcdctl put /hello world OK $ ETCDCTL_API=3 etcdctl get /hello OK
在使用命令时需要在前面加上ETCDCTL_API=3 如:查看集群成员 ETCDCTL_API=3 etcdctl member list ? ...根据前缀查询 ETCDCTL_API=3 etcdctl put test1 a ETCDCTL_API=3 etcdctl put test2 b ETCDCTL_API=3 etcdctl put...test3 c ETCDCTL_API=3 etcdctl get --prefix test ?...我们监听 test键,然后对test执行修改和删除操作 ETCDCTL_API=3 etcdctl watch test ?...ETCDCTL_API=3 etcdctl put test abcde ETCDCTL_API=3 etcdctl put test aaaa ETCDCTL_API=3 etcdctl del test
/etcdctl ls /coreos.com/ ETCDCTL_API=2 ./etcdctl ls /coreos.com/network/config ETCDCTL_API=2 ....-n 扩展: 卸载删除 flannel 网络插件 1,停止 flannel 网络插件 2, 删除 etcdctl 里面的内容 ETCDCTL_API=2 ..../etcdctl rm /coreos.com/network/config ETCDCTL_API=2 ..../etcdctl rm /coreos.com/network/subnets/172.16.27.0-24 ETCDCTL_API=2 ..../etcdctl rm /coreos.com/network/subnets/172.16.56.0-24 ETCDCTL_API=2 .
=3 etcdctl --cacert="${ETCD_CA_CERT}" --cert="${ETCD_CERT}" --key="${ETCD_KEY}" \ --endpoints="${HOST..._1}" --write-out=table endpoint status查看ETCD集群报警情况ETCDCTL_API=3 etcdctl --cacert="${ETCD_CA_CERT}" --..._1}" compact $rev执行碎片整理ETCDCTL_API=3 etcdctl --cacert="${ETCD_CA_CERT}" --cert="${ETCD_CERT}" --key="...${ETCD_KEY}" \ --endpoints="${HOST_1}" defrag解除告警ETCDCTL_API=3 etcdctl --cacert="${ETCD_CA_CERT}" --...cert="${ETCD_CERT}" --key="${ETCD_KEY}" \ --endpoints="${HOST_1}" alarm disarm验证可以添加新数据ETCDCTL_API=3
0x01 环境准备 1.安装的二进制 etcdctl 描述: etcdctl 二进制文件可以在 github.com/coreos/etcd/releases 选择对应的版本下载,例如可以执行以下 install_etcdctl.sh...install_etcdctl.sh #!.../usr/local/bin/ 验证安装: $ etcdctl version etcdctl version: 3.5.5 API version: 3.5 2.拉取带有 etcdctl 的 Docker...etcdctl version: 3.5.5 API version: 3.5 $ kubectl delete pod etcdctl 0x02 备份实践 1.使用二进制安装 etcdctl 客户端工具...# 1.环境变量 export ETCDCTL_API=3 export ETCDCTL_CACERT=/etc/kubernetes/pki/etcd/ca.crt export ETCDCTL_CERT
ETCD一些基础查询操作 2.1 查看集群状态 二进制: ETCDCTL_API=3 etcdctl --cacert=/etc/kubernetes/cert/ca.pem --cert=/etc/etcd...=3 etcdctl --cacert=/etc/kubernetes/pki/etcd/ca.pem --cert=/etc/kubernetes/pki/etcd/etcd-client.pem -...=3 etcdctl --cacert=/etc/kubernetes/pki/etcd/ca.pem --cert=/etc/kubernetes/pki/etcd/etcd-client.pem -...二进制举例 ETCDCTL_API=3 etcdctl --cacert=/etc/kubernetes/cert/ca.pem --cert=/etc/etcd/cert/etcd.pem --key...ETCDCTL_API=3 etcdctl snapshot restore /data/etcd_backup_dir/etcd-snapshot-20200414.db \ --name bjxg-sy-test
get root User: root Roles: root # etcdctl role get root Role: root KV Read: /* KV Write: /...* 3.开启auth认证 # etcdctl auth enable Authentication Enabled 开启权限认证后默认会多一个guest的角色 # etcdctl --username...,readConf角色对/conf有只读权限,rootConf角色对/conf有读写权限 # etcdctl --username root:12345 role grant --read --path.../conf/* rootConf Role rootConf updated 7.给用户分配角色,authz账号分配rootConf角色,readx账号分配readConf角色 # etcdctl -...# etcdctl --username root:12345 user revoke rolex 4.修改用户密码 # etcdctl --username root:12345 user passwd
解压后找到etcdctl文件,将其放入$GOPATH\bin目录,记得执行chown命令给予可执行权限; 现在准备工作已经完成,接下来试试etcdctl工具查看etcd数据; 查看etcd数据的实际操作...执行查询时前缀是固定的,如下所示,使用这个前缀再加上etcd的查找命令即可成功查询: ETCDCTL_API=3 ..../etcdctl --endpoints=https://127.0.0.1:2379 \ --cacert=/etc/kubernetes/pki/etcd/ca.crt \ --cert=/etc/...查看指定key的内容,如果您的系统用的是flannel网络插件,可以执行以下命令查看相关数据: ETCDCTL_API=3 etcdctl \ --endpoints=https://127.0.0.1...查看节点信息,如下所示,当前环境有master和node0两个节点: [root@master ~]# ETCDCTL_API=3 etcdctl \ > --cacert=/etc/kubernetes
删除空目录或键值 1 [root@etcdhost ~]# etcdctl rmdir /testetcd2 #删除非空目录 2 [root@etcdhost ~]# etcdctl rmdir...列出目录或键 1 [root@etcdhost ~]# etcdctl ls 2 [root@etcdhost ~]# etcdctl ls etcdb ?...1 [root@etcdhost ~]# etcdctl watch /etcdb/myself/name 2 [root@etcdhost ~]# etcdctl set /etcdb/myself...exec-watch /etcdb/myself/name -- sh -c 'etcdctl ls' 2 [root@etcdhost ~]# etcdctl set /etcdb/myself...~]# etcdctl --version #查看etcd版本 3 [root@etcdhost ~]# etcdctl --help #获取帮助 4 [root@etcdhost ~]#
方法一:解压目录下直接运行 方法二:把etcd、etcdctl文件复制到GOBIN目录下。 方法三:在环境变量里添加etcd、etcdctl文件所在的目录。...版本 $ etcdctl version etcdctl version: 3.5.4 API version: 3.5 二、本地编译部署 「下载」:使用以下命令克隆代码 # 下载最新版 $ git...「1.查看版本」 $ etcdctl version etcdctl version: 3.6.0-alpha.0 API version: 3.6 「2.写入 key」 $ etcdctl put...4.批量取值」 $ etcdctl put foo1 bar1 $ etcdctl put foo3 bar2 $ etcdctl put foo3 bar3 # 获取从 foo 到 foo3 的值,...:etcdctl put foo bar PUT foo bar # 同时监视多个值 $ etcdctl watch -i $ watch foo $ watch zoo # 另一个控制台执行: etcdctl
为了减少代码量方便阅读,以下etcdctl所需要加的证书及endpoints,就不一一添加了,大家参考一下就好: ETCDCTL_API=3 etcdctl --cacert=/etc/etcd/ssl...查询etcd是否有告警信息使用命令etcdctl alarm list: $ ETCDCTL_API=3 etcdctl alarm list memberID:2999344297460918765 ...=3 etcdctl compact 5395771 compacted revision 5395771 整理碎片 $ ETCDCTL_API=3 etcdctl defrag Finished ...=3 etcdctl alarm disarm memberID:2999344297460918765 alarm:NOSPACE $ ETCDCTL_API=3 etcdctl alarm ...list 测试数据是否可写入 $ ETCDCTL_API=3 etcdctl put /hello world OK $ ETCDCTL_API=3 etcdctl get /hello OK
$ etcdctl setdir dir1 $ etcdctl rmdir dir1 #若目录不空,会报错: $ etcdctl set /dir/testkey hi hi $ etcdctl rmdir...$ etcdctl get /testdir/testkey Hello world $ etcdctl set /testdir/testkey "Hello watch" Hello watch $...$ etcdctl exec-watch testdir/testkey -- sh -c 'ls' config Documentation etcd etcdctl README-etcdctl.md...@etcd-0-8 ~]# etcdctl get /msg hello k8s [root@etcd-0-8 ~]# etcdctl set --swap-with-value "hello k8s"...etcd-0-8 ~]# etcdctl get /queue/00000000000000000021 s1 # 更新key值 [root@etcd-0-8 ~]# etcdctl update /
领取专属 10元无门槛券
手把手带您无忧上云