【问题标题】:Keepalived health check can't connect to 127.0.0.1Keepalived 健康检查无法连接到 127.0.0.1
【发布时间】: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


【解决方案1】:

原来我使用的是一个古老版本的 Keepalived。从源代码编译最新版本修复了问题(而不是使用 Centos 存储库中的二进制文件)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-25
    • 1970-01-01
    • 2021-03-08
    • 2022-01-18
    • 2014-10-02
    • 2021-09-13
    • 2019-11-03
    相关资源
    最近更新 更多