问题标签 [livenessprobe]
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 - Pod 什么时候被销毁?
Pod 生命周期由 Kubelet 在数据平面进行管理。
根据定义:如果 liveness probe 失败,kubelet 会杀死容器
Pod 只是一个带有专用网络命名空间和 IPC 命名空间的容器,带有一个沙盒容器。
比如说,如果 Pod 是单个应用容器 Pod,那么在 liveness 失败时:
- kubelet 会杀死 Pod 吗?
或者
- kubelet 是否会(仅)杀死 Pod 中的容器?
kubernetes - Kubernetes - 如何在容器的 livenessProbe 中读取响应体?
以下是 livenessProbe 的当前配置:
但是 URL 的响应正文.well-known/heartbeat
显示status: "DOWN"
并且 http 返回状态为 200
因此,由于 http 响应状态为 200,Kubelet 不会重新启动容器
如何确保 Kubelet 读取响应正文而不是 http 返回状态?使用livenessProbe
配置
kubernetes - kubernetes liveness probe exec 命令环境变量在 if 语句中不起作用
我很难让 kubernetes livenessProbe exec 命令与环境变量一起工作。我的目标是让 liveness 探针监控 pod 上的内存使用情况以及执行 httpGet 健康检查。
“如果容器内存使用量超过资源限制的 90% 或 http 响应代码/health
失败,则探测应该失败。”
liveness探针配置如下:
如果我执行到(ubuntu)pod 并运行这些命令,它们都可以正常工作并完成工作。
但是当部署为 livenessProbe 时,pod 会不断失败,并显示以下警告:
看起来好像探测内存和 curl 运行状况检查端点的初始命令都有效并填充了环境变量,但是这些变量替换随后没有填充到 if 语句中,因此探测永远不会通过。
知道为什么吗?或者如何将其配置为正常工作?我知道这有点令人费解。提前致谢。
kubernetes - Kubernetes postStart hook 导致竞态条件
我在 Kubernetes 上使用带有postStart
钩子的 MySQL,它应该在数据库启动后运行查询。
这是我的相关部分template.yaml
:
当 pod 启动时,数据库的 PVC 被损坏并且 pod 崩溃。当我重新启动 pod 时,它可以工作。我猜查询会在数据库尚未启动时运行。我想这可能会通过 readinessprobe 解决,但我不是这些主题的专家。
有没有其他人遇到过类似的问题并知道如何解决?
kubernetes - 容器重启后跳过 Kubernetes 启动探测
在 Kubernetes v1.20 上运行
我配置了一个启动探针和一个活性探针。在容器第一次启动时,将执行启动探针,直到活性探针接管(如文档所述)。但是,如果 liveness 探测失败并且容器重新启动,则似乎不会再次执行启动探测。这是预期的行为吗?我在任何地方都找不到这个记录。
为了重现此问题,我正在运行以下容器定义(仅相关部分):
因此,如果 liveness 探针运行,它会创建 /tmp/liveness。如果启动探测运行,它会创建 /tmp/startup。您可以通过删除 /tmp/alive 来模拟活动检查失败。
首次启动时:
之后rm /tmp/alive
,活性检查失败并重新启动容器。然后,在新容器中:
所以似乎启动探测不再执行。
kubernetes - 当 Kubernetes liveness-probe 返回 false 时会发生什么?
当 Kubernetesliveness-probe
返回 false 时会发生什么?Kubernetes 是否会立即重启该 pod?
kubernetes - 添加资源后 Pod 经常重启
添加资源后 Pod 经常重启。
在此之前没有添加资源。吊舱根本不会重新启动,或者它可能每天只发生一次或两次。
我不确定资源是否会影响健康检查,因此 pod 会经常重启。
以下是描述所有 testservice pod 的结果。
- testservice-dpm-d7979cc69-rwxr4(在 10 分钟内重新启动 7 次,并且现在仍然回退重新启动失败的容器)
- testservice-dpm-d7979cc69-7nq28(10分钟内重启4次,现在运行)
- testservice-dpm-d7979cc69-z566c(10 分钟内不重启,现在正在运行)
kubernetes - 有没有办法限制pod的重启次数?
我已经在我的 kubernetes 部署文件中实现了 liveness probe。截至目前,它尝试无限次重启。有没有办法限制这个重启尝试的次数?
kubernetes - 如何替换或找到 kustomize 的正确路径
我有部署,我想替换活动探测部分中的“路径”值。kustomize 中的正确路径是什么?
kubernetes - K8S - livenessProbe - 如果另一个 pod 未准备好/工作(MySql),则重新启动 pod
新年快乐,我有 2 个部署,MySQL 和应用程序,我的应用程序依赖于 MySQL pod,我有 initContainers 确保应用程序在 MySQL pod 完全应用程序并准备好之后运行,但我正在尝试制作下一个场景工作。
我希望应用程序 pod 检查 MySQL pod,如果端口 3306 不可用,那么应用程序 pod 本身将重新启动,这将一直发生,直到 MySQL pod 完全准备好。
我在应用程序部署/吊舱中使用它
但不是“???”我不知道我需要写什么,因为,我知道我不能写他们的DNS名称,我被告知livenessProbe不适用于DNS,所以我尝试输入这个IP ENV 的地址,但仍然无法正常工作。
我怎样才能做到这一点 ?
SQL 部署 yaml:
应用程序部署 yaml
$MYSQL_CLUSTERIP_SERVICE_HOST - 这是 ENV(它对我不起作用)。
那么如果 pod mysql 未准备好,我该如何重新启动 pod 应用程序?