问题标签 [kubernetes-health-check]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
136 浏览

kubernetes - 无法对 prometheus 集群外的服务进行健康检查

我已经设置了 prometheus 和 blackbox 来监控 kubenetes 集群,它对于 dservice 监控工作正常,所有服务的探测成功都很好,但是来自外部的服务,我无法监控那些服务。例如:google.com,它给出 probe_status: 0 和 probe_http_redirects:0

黑盒目标数组是:

}

工作:

结果:

我希望probe_success 和probe_http_redirects 应该是1,我该如何实现呢?

0 投票
1 回答
2963 浏览

linux - k8s liveness probe失败时,向容器中运行的进程发送什么信号?杀死或终止

我有一个用例来优雅地终止容器,我有一个脚本可以通过使用命令“kill PID”从容器内优雅地终止进程。(这将发送 TERM 信号)但我也配置了活性探针。目前活性探测配置为以 60 秒的间隔进行探测。因此,如果在发送优雅终止信号后不久进行活性探测,则当终止仍在进行中时,容器的整体健康状况可能会变得 CRITICAL。在这种情况下,活性探测将失败,容器将立即终止。

所以我想知道 kubelet 是用 TERM 还是 KILL 杀死容器。

感谢您的支持 在此先感谢

0 投票
1 回答
2457 浏览

kubernetes - 通过 Prometheus 监控 kubernetes 服务或部署

我有一个 k8s 集群 v1.8。我试图在我的集群上设置 prometheus,所以基本上是在尝试监控服务和部署。但是使用下面的配置图,我无法查看我的任何服务或部署。

我的目标页面输出看起来像这样https://i.stack.imgur.com/Q6F6O.png。我想从 Prometheus 获得的也是 k8s 服务或部署指标数据。任何帮助将不胜感激。谢谢。

0 投票
3 回答
3430 浏览

kubernetes - 如何使用 K8S node_problem_detector?

问题

如果 K8S ,在Monitor Node Health文档中提到了node-problem-detector 。如果它不在 GCE 中,我们如何使用它?它是否向仪表板提供信息或提供 API 指标?

0 投票
1 回答
2973 浏览

nginx - 在 GKE 上使用 nginx 入口控制器时负载均衡器的节点不健康

我已经按照本指南设置了 nginx 入口控制器。

入口运行良好,我也可以访问该defaultbackend服务和我自己的服务。

但是在查看 Google Cloud Console 中创建的对象时,特别是自动创建的负载均衡器对象时,我注意到其他节点的运行状况检查失败: 在此处输入图像描述

这是因为入口控制器进程只在一个节点上运行,所以它是唯一通过健康检查的节点?如何让其他节点通过?

0 投票
1 回答
1359 浏览

kubernetes - Kubernetes:了解节点资源使用情况,如何处理

我对 Kubernetes 很陌生,我刚刚在 2 节点集群上部署了一些服务。

以下是指标

节点使用

豆荚使用

MEMORY(%) 是什么意思,是 Node.js 的当前使用情况吗?如果是这样,为什么节点会占用大量内存,即使 pod 没有占用完整的节点内存。累计 PODS 内存使用量在 2500Mi 左右。

如何处理这些内存和 CPU ?

使用集群时要考虑的最佳实践是什么。

0 投票
2 回答
752 浏览

kubernetes - 如何减少 pod 启动期间的“不健康”延迟?

我正在使用 kubernetes 启动 java pod。pod 启动延迟在 10 秒到大约 1 分钟之间变化,具体取决于节点的负载、flyway 迁移表所花费的时间、...

为了避免 kubernetes 杀死正在启动的 pod,我们将 liveness probe 设置为初始延迟两分钟。

它使我们免于因为豆荚启动太慢而永远被杀死。但是在扩大规模、崩溃恢复的情况下,我们会在新启动的 pod 加入服务之前失去几秒/分钟的时间。

有什么办法可以优化吗?一种在初始延迟之前告诉 kubernetes“我们已经上线,你可以开始使用 liveness probe”的方法了吗?

0 投票
2 回答
1511 浏览

kubernetes - 为 RStudio 和 Shiny 设置具有 HTTP 负载平衡入口的 Kuberentes 集群会导致错误页面

我正在尝试在运行 nginx、RStudio 服务器和两个 Shiny 应用程序的 Google Kubernetes Engine 上创建一个集群,遵循并改编本指南

我有 4 个在 UI 中都是绿色的工作负载,通过以下方式部署:

然后它们都通过以下方式暴露为节点端口:

..在 UI 中都是绿色的。

然后我部署了这个 Ingress 后端

结果是 nginx 路由工作得很好,我可以从家里看到“欢迎使用 nginx”网页,但我得到的其他三个路径:

  • /rstudio/ -Input/output error
  • /shiny1/ - 找不到页面(闪亮的 404 页面)
  • /shiny5/ - 找不到页面(Shiny 404 页面)

RStudio 和 Shiny 工作负载在通过单个负载均衡器公开时都可以工作,分别映射到 8787 和 3838。

谁能指出我哪里出错了?

问:

  • 是否需要调整 Dockerfile 以便在请求“/”时在端口 80 上都给出 200 状态?我需要更换健康检查器吗?我尝试更改 RStudio 登录页面(如果您未登录,则将 302 更改为 /auth-sign-in)但没有运气
  • RStudio 和 Shiny 都需要 websockets——这会影响这个吗?
  • 是否需要开启会话亲和性?我尝试用 IP 添加它,但同样的错误。
0 投票
3 回答
13726 浏览

kubernetes - What is the default value of initialDelaySeconds?

Kubernetes' liveness and readiness probes for pods (deployment) can be configured with this initial delay ---- meaning the probe will start after this many seconds after the container is up. If it is not specified, what is the default value? I can't seem to find it. The default value for periodSeconds is documented as 10 second.

Thanks

0 投票
3 回答
9157 浏览

jenkins - Jenkins 中的 Kubernetes 部署状态

我正在编写一个 Jenkins Global 管道库,我有一个阶段可以将我的 docker 映像部署到 K8s 集群。因此,在 CI 过程中构建我的 docker 映像后,我将映像提升(部署)到多个环境(依次从低到高)。所以,要在运行后得到正确的部署状态

我在 shell 步骤中使用了以下命令。

如果我的部署没有错误,一切顺利,但如果我的部署有一些错误(可能是一些代码错误,应用程序无法启动),那么这个命令kubectl rollout status deployment <deployment name>将无限运行(因为 k8s 一次又一次地重试重新部署)并且我的 Jenkins 工作无限运行(直到作业超时)。

因此,为了找到一个 hack,我尝试了一个逻辑来将超时设置在这个命令上,并且计算是这样的:

timeout = (pod 数量 * liveness probe time + pod 数量 * 10) 秒

不确定这个计算是否正确。

我的代码片段看起来像这样

这最初效果很好,但后来我发现 k8s “kubectl rollout status deployment” 命令在所有 pod 都被安排好并且旧的完全终止之前不会给出退出代码 0,这有时需要一些时间。

我基本上想要的是一个最小的计算超时值。

我的 K8s 文件有这样的参数:

我在 K8s 文档中没有找到与此相关的任何具体内容。有人面临同样的挑战吗?