问题标签 [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.
kubernetes - 无法对 prometheus 集群外的服务进行健康检查
我已经设置了 prometheus 和 blackbox 来监控 kubenetes 集群,它对于 dservice 监控工作正常,所有服务的探测成功都很好,但是来自外部的服务,我无法监控那些服务。例如:google.com,它给出 probe_status: 0 和 probe_http_redirects:0
黑盒目标数组是:
}
工作:
结果:
我希望probe_success 和probe_http_redirects 应该是1,我该如何实现呢?
linux - k8s liveness probe失败时,向容器中运行的进程发送什么信号?杀死或终止
我有一个用例来优雅地终止容器,我有一个脚本可以通过使用命令“kill PID”从容器内优雅地终止进程。(这将发送 TERM 信号)但我也配置了活性探针。目前活性探测配置为以 60 秒的间隔进行探测。因此,如果在发送优雅终止信号后不久进行活性探测,则当终止仍在进行中时,容器的整体健康状况可能会变得 CRITICAL。在这种情况下,活性探测将失败,容器将立即终止。
所以我想知道 kubelet 是用 TERM 还是 KILL 杀死容器。
感谢您的支持 在此先感谢
kubernetes - 通过 Prometheus 监控 kubernetes 服务或部署
我有一个 k8s 集群 v1.8。我试图在我的集群上设置 prometheus,所以基本上是在尝试监控服务和部署。但是使用下面的配置图,我无法查看我的任何服务或部署。
我的目标页面输出看起来像这样https://i.stack.imgur.com/Q6F6O.png。我想从 Prometheus 获得的也是 k8s 服务或部署指标数据。任何帮助将不胜感激。谢谢。
kubernetes - 如何使用 K8S node_problem_detector?
问题
如果 K8S ,在Monitor Node Health文档中提到了node-problem-detector 。如果它不在 GCE 中,我们如何使用它?它是否向仪表板提供信息或提供 API 指标?
nginx - 在 GKE 上使用 nginx 入口控制器时负载均衡器的节点不健康
我已经按照本指南设置了 nginx 入口控制器。
入口运行良好,我也可以访问该defaultbackend
服务和我自己的服务。
但是在查看 Google Cloud Console 中创建的对象时,特别是自动创建的负载均衡器对象时,我注意到其他节点的运行状况检查失败:
这是因为入口控制器进程只在一个节点上运行,所以它是唯一通过健康检查的节点?如何让其他节点通过?
kubernetes - Kubernetes:了解节点资源使用情况,如何处理
我对 Kubernetes 很陌生,我刚刚在 2 节点集群上部署了一些服务。
以下是指标
节点使用
豆荚使用
MEMORY(%) 是什么意思,是 Node.js 的当前使用情况吗?如果是这样,为什么节点会占用大量内存,即使 pod 没有占用完整的节点内存。累计 PODS 内存使用量在 2500Mi 左右。
如何处理这些内存和 CPU ?
使用集群时要考虑的最佳实践是什么。
kubernetes - 如何减少 pod 启动期间的“不健康”延迟?
我正在使用 kubernetes 启动 java pod。pod 启动延迟在 10 秒到大约 1 分钟之间变化,具体取决于节点的负载、flyway 迁移表所花费的时间、...
为了避免 kubernetes 杀死正在启动的 pod,我们将 liveness probe 设置为初始延迟两分钟。
它使我们免于因为豆荚启动太慢而永远被杀死。但是在扩大规模、崩溃恢复的情况下,我们会在新启动的 pod 加入服务之前失去几秒/分钟的时间。
有什么办法可以优化吗?一种在初始延迟之前告诉 kubernetes“我们已经上线,你可以开始使用 liveness probe”的方法了吗?
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 添加它,但同样的错误。
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
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 文档中没有找到与此相关的任何具体内容。有人面临同样的挑战吗?