Kubernetes liveness probe:失败时的webhook通知

Kubernetes liveness probe:失败时的webhook通知,kubernetes,google-cloud-platform,google-kubernetes-engine,Kubernetes,Google Cloud Platform,Google Kubernetes Engine,我正在谷歌云上运行Kubernetes集群。我的集群有一个公开健康检查接口(通过HTTP)的部署。在我的部署yaml文件中,我配置了: livenessProbe: # an http probe httpGet: path: /hc port: 80 scheme: HTTP initialDelaySeconds: 30 timeoutSeconds: 60 periodSeconds: 90 如果我的健康检查端点返回200以外的任何值,pod将

我正在谷歌云上运行Kubernetes集群。我的集群有一个公开健康检查接口(通过HTTP)的部署。在我的部署
yaml
文件中,我配置了:

livenessProbe:
  # an http probe
  httpGet:
    path: /hc
    port: 80
    scheme: HTTP
  initialDelaySeconds: 30
  timeoutSeconds: 60
  periodSeconds: 90
如果我的健康检查端点返回200以外的任何值,pod将被杀死并重新启动

目前,pod重启后,它只在“重启”计数器上计数,但不通知任何人。我想通知系统管理员此事件已经发生。我想用网络钩子通知你


这可能吗?如果没有,我的其他通知选项是什么?

对于这个问题,有点复杂的标准答案是Kubernetes->kube state metrics->Prometheus->alertmanager->webhook。对于一项简单的任务来说,这听起来可能有很多,但普罗米修斯及其相关工具在度量和警报方面的应用要广泛得多。如果你想得到一个更狭隘的答案,你也许可以查一查?但可能只需要使用kube prometheus(这是一种Prom,有一堆相关组件,都是为您设置的)。

您可以在pod规范中添加一个。钩子可以在pod关闭之前运行脚本或进行HTTP调用。您可以将钩子配置为调用触发通知的API。

嘿,答案我不清楚。在那里我可以找到您指定的
webhook
Kubernetes->kube state metrics->Prometheus->alertmanager->webhook
)?什么是旅?我需要第三方组件来归档这个目标吗?是的,普罗米修斯是一个第三方工具(虽然也在CNCF的保护伞下,所以它是一个兄弟项目)。Alertmanager实际上会触发webhook,它是Prometheus的组件,负责发送警报。有趣。这里我可以看到两个问题:1)
preStop
not说明了停止的原因,我想区分正常停止和健康检查探头故障。2) 钩子实际上是在容器上运行脚本。如果健康检查探测因连接而失败-钩子将永远不会发送。如果容器完全没有响应,则您是对的,它不会发送任何内容。另一种方法是混合使用日志记录和监控,根据您的公关记录/监控代理发送寻呼机任务或datadog等警报。我正在使用Stackdrive日志记录和sink-to-logs来发送通知。但是,如果没有连接(我两周前就遇到过这种情况),消息就不会到达谷歌的日志服务器。这取决于你在寻找什么。您可以从kubelet或节点中找到所需的日志。如果一个容器出现故障,则有多个地方可以收集日志。使用stackdriver查看kubelet或docker日志