问题:Confd 启动时报 "user name is empty"的错
后端存储:etcdv3 (开启Basic Auth认证)
confd版本:confd-0.16.0-linux-amd64

这个报错会在以下三种情况下出现:
1、confd启动时没有加-username 、-password和-basic-auth选项
confd -log-level debug -watch -backend etcdv3 -node http://127.0.0.1:2379
2、confd启动时只加了-username 、-password选项,没加-basic-auth
confd -log-level debug -watch -backend etcdv3 -node http://127.0.0.1:2379 -username root -password fac3f780831f8._
3、confd启动参数放在配置文件中时,基本认证写成了basic-auth=true,应该是basic_auth=true。
这有点奇怪,按道理关键字无论是终端下和配置文件中都是一样的
confd -config-file=/etc/confd/confd.conf
/etc/confd/confd.conf:
backend="etcdv3"
nodes=[
"http://127.0.0.1:2379",
]
watch=true
prefix="/"
confdir="/etc/confd"
log-level="info"
basic-auth=true
username="root"
password="fac3f780831f8._"
解决方案
对于1和2:启动时同时添加-basic-auth、-username和-password三个选项
confd -log-level debug -watch -backend etcdv3 -node http://127.0.0.1:2379 -basic-auth -username root -password fac3f780831f8._
对于3:将配置文件中的basic-auth改成basic_auth
/etc/confd/confd.conf:
backend="etcdv3"
nodes=[
"http://127.0.0.1:2379",
]
watch=true
prefix="/"
confdir="/etc/confd"
log-level="info"
basic_auth=true
username="root"
password="fac3f780831f8._"
成功运行的效果:

至此问题解决!
解决Confd启动usernameisempty错误

本文解决Confd启动时遇到的usernameisempty错误,主要针对使用etcdv3作为后端存储并开启了BasicAuth认证的情况。错误可能源于启动参数设置不全或配置文件中的基本认证关键字拼写错误。
7237

被折叠的 条评论
为什么被折叠?



