【发布时间】:2016-08-22 03:36:16
【问题描述】:
我目前有一个运行 Centos 7 和 Docker 的服务器集群,我想使用 Keepalived 在它们之间分配一个浮动 IP。我已将 Keepalived 配置为在每个节点上运行检查命令,该命令仅执行 curl --silent --fail localhost:80 以确保 HTTP 服务器正在侦听。
Web 应用程序正在使用绑定到 Docker 1.10.3 上的端口 80 和 --net=host 的 Docker 容器运行。 Firewalld 也被完全禁用。
我遇到的问题是 curl 永远不会成功。如果我将检查命令更改为echo '' 或任何其他退出 0(没有任何网络交互)的命令,它工作正常,但由于某种原因 curl 不起作用。当我从普通的 bash 终端运行它时,它很好,echo $? 打印一个 0。
我什至不确定如何调试它,因为 Keepalived 没有提供任何有关此事的文档,而且似乎没有记录任何与来自 vrrp 脚本的错误有关的内容。
任何帮助或建议将不胜感激。
【问题讨论】:
-
只是在这里猜测,但也许
keepalived是您可以检查(和调试)的脚本?祝你好运。 -
Keepalived 是一个完全用 C 语言编写的相当低级的工具,我试过浏览源代码但很快就迷路了 =(
标签: http curl networking docker localhost