首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Kubernetes检查“静默”pod是否执行完毕

Kubernetes检查“静默”pod是否执行完毕
EN

Stack Overflow用户
提问于 2019-03-14 23:17:10
回答 1查看 233关注 0票数 3

假设我定义了一个pod,它只运行几段代码,然后退出。在允许其他pod运行之前,我需要确保此pod退出。实现这一点的最佳方式是什么?

我过去常常通过执行网络请求来检查pod是否准备好了,例如,一旦准备就绪,一些webapps pod就会阻塞并侦听预定义的端口,因此我可以让等待pod对它们执行netcat请求。但在这种特定情况下,pod不需要打开任何端口,因此此方法不起作用。有没有人能推荐一种替代方案?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-15 04:13:55

如果“代码片段”需要在每次pod启动/重启时运行,您可能正在寻找一个Init Container实现:

初始化容器是在应用程序容器之前运行的专用容器,可以包含应用程序映像中不存在的实用程序或安装脚本。

如果您的代码是多个pods的依赖项,并且需要运行一次(例如,在每次新部署时),您可以考虑使用Job Controller,并在部署新pods/容器之前实现一个逻辑来检查它是否完成。(您可以在部署脚本上使用像kubectl wait --for=condition=complete job/myjob这样的命令)。

如果您使用helm进行部署,最好的选择是结合使用k8s job、pre-installpre-upgrade helm hooks

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55166112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档