keepalived健康检查无法连接到127.0.0.1
Keepalived health check can't connect to 127.0.0.1
我目前有一个服务器集群运行ning Centos 7和Docker,我想使用Keepalived在它们之间分配一个浮动IP。我已经将 Keepalived 配置为 运行 每个节点上的检查命令,它只是 curl --silent --fail localhost:80
以确保 HTTP 服务器正在侦听。
Web 应用程序 运行ning 使用绑定到端口 80 的 Docker 容器和 Docker 1.10.3 上的 --net=host
。 firewalld 也被完全禁用。
我遇到的问题是 curl 永远不会成功。如果我将检查命令更改为 echo ''
或任何其他退出 0(没有任何网络交互)的命令,它工作正常,但由于某种原因,curl 不起作用。当我从普通的 bash 终端 运行 它时,它很好,并且 echo $?
打印 0.
我什至不确定如何调试它,因为 Keepalived 没有提供任何关于此事的文档,而且似乎没有记录任何与来自 vrrp 脚本的错误相关的内容。
如有任何帮助或建议,我们将不胜感激。
原来我使用的是旧版本的 Keepalived。从源代码编译最新版本修复了问题(而不是使用 Centos 存储库中的二进制文件)
我目前有一个服务器集群运行ning Centos 7和Docker,我想使用Keepalived在它们之间分配一个浮动IP。我已经将 Keepalived 配置为 运行 每个节点上的检查命令,它只是 curl --silent --fail localhost:80
以确保 HTTP 服务器正在侦听。
Web 应用程序 运行ning 使用绑定到端口 80 的 Docker 容器和 Docker 1.10.3 上的 --net=host
。 firewalld 也被完全禁用。
我遇到的问题是 curl 永远不会成功。如果我将检查命令更改为 echo ''
或任何其他退出 0(没有任何网络交互)的命令,它工作正常,但由于某种原因,curl 不起作用。当我从普通的 bash 终端 运行 它时,它很好,并且 echo $?
打印 0.
我什至不确定如何调试它,因为 Keepalived 没有提供任何关于此事的文档,而且似乎没有记录任何与来自 vrrp 脚本的错误相关的内容。
如有任何帮助或建议,我们将不胜感激。
原来我使用的是旧版本的 Keepalived。从源代码编译最新版本修复了问题(而不是使用 Centos 存储库中的二进制文件)