kubernetes - Kubernetes pod 发生故障时执行一些操作
问题描述
如果某个 pod 出现故障,我需要执行 sql 查询。我希望根据该 pod 的主机名更新数据库中的记录,我怎样才能实现这一点,有什么方法可以做到这一点?
解决方案
您可以在应用程序代码中实现一个处理程序,该处理程序处理SIGTERM
信号并进入数据库。一个SIGTERM
信号由 kubernetes 发送到正在运行的 pod,然后在SIGKILL
提到的宽限期之后发送一个信号terminationGracePeriodSeconds
。
作为一种替代且更安全的方法,您可以将此责任转移给另一个应用程序,该应用程序会定期轮询由另一个应用程序公开的健康检查端点。健康检查端点可以公开应用程序的主机名。当健康检查失败时,进入数据库。
推荐阅读
- node.js - Apache 服务于旧版本
- primefaces - PrimeFaces 8.0 - Rowexpansion 内表的过滤器正在更新每个行扩展中所有表的数据
- javascript - 反应错误:TypeError:无法读取未定义的属性“缩略图”
- rust - 如何以线程安全的方式重置 Arc?
- python - 无法返回并插入 pandas 列(EMPTY SPACE)
- android - 如何将生成的第一个编辑文本集中在 ArrayList 上
并在填充后点击 Kotlin 中的文本视图转到下一个 - android - TextView 多行文本行高
- reactjs - 为什么我的所有列表项的状态都在改变,而不仅仅是一个?React.js,状态,HandleChange,模态
- python - 我可以在 OneDrive / Sharepoint 中创建未过期的令牌吗?
- express - 使用 API 在 Vercel 上部署 Nuxt JS