由于字符无效,无法通过 DNS 发现 Consul 节点
Consul node will not be discoverable via DNS due to invalid characters
我们主要是一个基于 VM 的环境,有很多需要客户端发现、配置管理等的微服务。所以决定使用 Hashicorp Consul。
我们遇到了一个问题:带点 (.) 的主机名
[WARN] agent: Node name "myorg.vsi.uat.xxx.com" will not be discoverable via DNS due to invalid characters. Valid characters include all alpha-numerics and dashes.
我们目前无法更改主机名。尝试使用配置更改节点名称但无法找到成功。
我们可以做些什么来解决这个问题?
您可以编写小的 bash 脚本并使用它来启动带有 random uuid as name by providing config file name override 的代理,首先 运行:
FILE=/etc/consul.d/host_id.hcl
if [ ! -f "$FILE" ]; then
echo "node_name=$(uuidgen)" > "$FILE"
fi
consul agent -config-file=$FILE #... use your your agent run command with loading file config override
我们主要是一个基于 VM 的环境,有很多需要客户端发现、配置管理等的微服务。所以决定使用 Hashicorp Consul。
我们遇到了一个问题:带点 (.) 的主机名
[WARN] agent: Node name "myorg.vsi.uat.xxx.com" will not be discoverable via DNS due to invalid characters. Valid characters include all alpha-numerics and dashes.
我们目前无法更改主机名。尝试使用配置更改节点名称但无法找到成功。
我们可以做些什么来解决这个问题?
您可以编写小的 bash 脚本并使用它来启动带有 random uuid as name by providing config file name override 的代理,首先 运行:
FILE=/etc/consul.d/host_id.hcl
if [ ! -f "$FILE" ]; then
echo "node_name=$(uuidgen)" > "$FILE"
fi
consul agent -config-file=$FILE #... use your your agent run command with loading file config override