微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

etcd v3 中“监视密钥更改”的最佳实践

如何解决etcd v3 中“监视密钥更改”的最佳实践

我们想使用带有“watch”功能的 etcd 来更改我们的“/etc/hosts”文件一个节点应该改变这个值,然后 watch 应该在“/etc/hosts”中写入改变。

节点 1 输入:

etcdctl put master-server "192.168.10.1 master-server.int.server.io"

Node2 观察:

etcdctl watch master-server | head -3 | tail -1 | tee  >> hosts.file

节点 2 输出

192.168.10.1 master-server.int.server.io

这工作正常,但现在我想要一个多行的输出,如下所示: 节点 2 输出

192.168.10.1 master-server.int.server.io
192.168.10.2 slave1-server.int.server.io
192.168.10.3 slave2-server.int.server.io

我的想法是:

etcdctl put master-server "192.168.10.1 master-server.int.server.io \n192.168.10.2 slave1-server.int.server.io \n192.168.10.3 slave2-server.int.server.io"

但它不起作用。

输出是:

192.168.10.1 master-server.int.server.io \n192.168.10.2 slave1-server.int.server.io \n192.168.10.3 slave2-server.int.server.io

有人知道处理我的问题的最佳方法吗? 以及如何将多行转换为一个值?

感谢您的帮助。

解决方法

以下是否符合您的要求?

export ETCDCTL_API=3
echo -e "hello\nworld" | etcdctl put mykey

然后再读一遍:

etcdctl --write-out=json get mykey | jq .kvs[0].value | sed 's/"//g'  | base64 -d

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。