Consul 的脚本(args)如何检查我的 pod 中的 运行?

How does Consul's script(args) check run in my pod?

我是通过helm-chart部署Coscul的,没有启用注入sidecar。
然后我注册了如下所示的 args 检查服务。

    {
      "name": "demo-svc",
      "Address": "demo-svc.default.svc.cluster.local",
      "port": 8080,
      "checks": [
        {
            "name": "args check",
            "args": ["/bin/ls", "/home"],
            "interval": "3s",
            "timeout": "1s"
        }
      ]
    }

并获得输出

consul

这个健康检查结果不符合预期,它显示的文件夹不在我的 pod 中,看起来脚本只是在 Consul-server 中运行。

Consul 的 arges 可以检查我的 pod 中的执行脚本吗?

Consul 健康检查 运行 在执行它们的代理的上下文中。 Consul client/server 代理将 运行 执行脚本检查,就像您提供的那样。

如果您想 运行 对您的 pod 进行健康检查,您需要配置 network-level 健康检查(即 TCP、HTTP、gRPC 等)以便代理可以通信与您的目标服务。