【问题标题】:Liveness probe with http post使用 http post 进行活跃度探测
【发布时间】:2018-12-16 23:54:17
【问题描述】:

我正在运行一个无法更改任何规范的 Web 服务。我想在 Kubernetes 上使用带有 HTTP POST 的活性探针。我找不到任何可用的东西。我对busybox 和netcat 的所有努力都失败了。

有解决办法吗?是否可以从任何 Linux dist 构建自定义活性探针?

【问题讨论】:

    标签: docker kubernetes


    【解决方案1】:

    Kubernetes Probes 仅支持 HTTP GET、TCP 和命令。

    如果您必须通过 HTTP POST 检查某些内容,您可以使用命令方法,只需 curl -XPOST ..

    一个例子是:

    ...
          containers:
            - name:  k8-byexamples-spring-rest
              image: gcr.io/matthewdavis-byexamples/k8-byexamples-spring-rest:1d4c1401c9485ef61322d9f2bb33157951eb351f
              ports:
                - containerPort: 8080
                  name: http
              livenessProbe:
                exec:
                  command:
                    - curl
                    - -X POST
                    - http://localhost/test123
                initialDelaySeconds: 5
                periodSeconds: 5
    ...
    

    更多解释见:https://matthewdavis.io/kubernetes-health-checks-demystified/

    希望有帮助!

    【讨论】:

    • 如果您想在任何不成功的错误代码(例如 500)上退出,您可能需要使用 curl --fail -X POST ...。否则,curl 命令仍会以零错误代码退出以表示不成功错误代码,并且 Kubernetes 不会认为 liveness 或 readiness 探测失败。
    猜你喜欢
    • 2020-09-12
    • 1970-01-01
    • 2020-09-22
    • 1970-01-01
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-28
    相关资源
    最近更新 更多