首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >库伯奈特斯livenessProbe http结果?

库伯奈特斯livenessProbe http结果?
EN

Stack Overflow用户
提问于 2017-06-05 10:53:45
回答 1查看 1.1K关注 0票数 3

我们有一个HTTP livenessProbe安装程序,如果服务不健康,它返回500个,并打印出问题所在。

有没有办法查看livenessProbe返回的输出?

我可以将它登录到应用程序中,但也许可以从Kubernetes查看吗?

目前,我看到的唯一一件事是做pod describe

代码语言:javascript
复制
Killing container with id docker://12568746c312e6646fd6ecdb2123db448be0bc6808629b1a63ced8b7298be444:pod "test-3893895584-7f4cr_test(524091bd-49d8-11e7-bd00-42010a840224)" container "test" is unhealthy, it will be killed and re-created.

在GKE上运行

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-05 11:50:28

不幸的是,似乎没有一种方法来访问失败的HTTP探针的HTTP响应体。

为了证实这种怀疑,让我们看看HTTP Prober的源代码,它在Kubelet守护进程中运行:

代码语言:javascript
复制
func DoHTTPProbe(url *url.URL, headers http.Header, client HTTPGetInterface) (probe.Result, string, error) {
    // ...
    body := string(b)
    if res.StatusCode >= http.StatusOK && res.StatusCode < http.StatusBadRequest {
        glog.V(4).Infof("Probe succeeded for %s, Response: %v", url.String(), *res)
        return probe.Success, body, nil
    }
    glog.V(4).Infof("Probe failed for %s with request headers %v, response body: %v", url.String(), headers, body)
    return probe.Failure, fmt.Sprintf("HTTP probe failed with statuscode: %d", res.StatusCode), nil
}

如您所见,Kubelet守护进程将在其自己的日志中记录失败探测的HTTP响应体,但即使这样,也必须将详细信息设置为4或更高版本。除了在自己的日志中记录响应之外,它不会从DoHTTPProbe方法中传回,也不会被Kubelet进一步处理。

正如您自己已经指出的,我认为您最安全的选择是从应用程序本身中记录您需要的数据。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44367370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档