Galera Cluster Rancher节点扩展问题

时间:2017-01-01 12:32:51

标签: docker mariadb galera rancher

我有一个非常具体的问题。我正在使用Rancher来管理我的docker容器并使用Galera Cluster社区模板。我在我的设置中添加了第二个主机,如果我正在扩展现在的clusting - 它一直在说

  

level =致命msg ="无效字符'<'寻找价值的开端"

我无法真正追踪错误,也无法知道在哪里查看。

到目前为止我的研究 - 它可能与主机通信协议(http vs https)相关联,因为其他人都有此错误。

我的问题 - 如何跟踪/调试并修复此错误?

Additional information:
Docker Version on both hosts: 1.12.5
Rancher Version: v1.1.4

如果您还有其他需要 - 我很乐意提供更多信息。

1 个答案:

答案 0 :(得分:0)

我花了一段时间才想出这个。它实际上不是模板或Galera Cluster本身的问题。 问题在于牧场主/码头工人在环境中获取IP的方式。原因是ubuntu默认使用dns服务器作为本地地址127.0.0.1发布,并且是设计使然。问题是docker容器无法在127.0.0.1中查找。

请参阅 /etc/resolv.conf 文件

进行测试:

docker run -it ubuntu bash
apt update
apt install dnsutils
# This will not respond
dig @127.0.0.1 your.hostname.com

注意:ping会正常工作,并且可能会让您误以为名称解析正常。挖掘是一种正确的方法。

您还可以使用rancher cli来解决问题:

mkdir -p support
rancher hosts -a > support/hosts
rancher logs --tail=-1 ipsec/ipsec > support/ipsec 2>&1
rancher logs --tail=-1 network-services/metadata > support/metadata 2>&1
rancher logs --tail=-1 network-services/network-manager > support/network-manager 2>&1

<强>解决方案:

有两种解决方案:

1 - 配置ubuntu以使用其他名称服务器,如google public dns(8.8.8.8,8.8.4.4)。我尝试过这个,并且对于一个简单的改变来说太复杂了,正如所说的,ubuntu在设计中使用它。

2 - 更改docker dns服务器。这对我来说很好。您将编辑或创建文件/etc/docker/daemon.json并输入以下行:

{
  "dns": ["8.8.8.8", "8.8.4.4"]
}

停止容器并重启守护进程:

docker stop $(docker ps -q)
docker stop $(docker ps -q) # yes twice :-) rancher will try do restart your dying containers
systemctl restart docker

非常感谢Giovanni