由于字符无效,Consul 节点将无法通过 DNS 发现

Sel*_*sra 5 consul

我们主要是一个基于虚拟机的环境,有很多需要客户端发现、配置管理等的微服务。所以决定使用 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.
Run Code Online (Sandbox Code Playgroud)

目前我们无法更改主机名。尝试使用配置更改节点名称,但未能成功。

我们能做些什么来解决这个问题吗?

Bla*_*ork 2

您可以编写小型 bash 脚本,并通过在首次运行时提供配置文件名覆盖来使用它来启动以随机 uuid作为名称的代理:

    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
Run Code Online (Sandbox Code Playgroud)