python - Kubernetes 在同一个 Pod 中运行多个 python 脚本
问题描述
我有 4-5 个 Python 脚本,它们是 Kafka 的消费者/生产者,需要一直运行到最后。
我可以为每个脚本创建容器,但我将拥有 4-5 个容器,如果出现任何故障,Kubernetes 将对其进行管理。
但是我想在单个 Pod 中运行所有这些,如果任何脚本失败,则应该只启动该脚本,而不是整个 pod,这反过来将启动在完美运行的脚本中发生的所有当前事务。
我们有办法实现它吗?或者最好的解决方案是什么 - 在每个容器中单独运行或在单个容器中运行它们。
如果将来有更多脚本出现,那么我该怎么做才能实现所需的行为。
1 个 pod 中的 movig 脚本中的原因- 1 个脚本 ~ 1 个容器 ~ 400 MB。现在 5 个脚本 ~ 5 个容器 ~ 2 GB。
解决方案
这不是建议的模式!建议每个容器一个进程!
在同一个容器中运行所有脚本将或多或少地使用相同数量的 RAM(~2GB),容器的开销非常少。
您可以使用诸如 s6 https://github.com/just-containers/s6-overlay之类的初始化进程运行所有 5 个脚本,并且 s6 将只负责启动已停止的脚本
推荐阅读
- c++ - C++中无继承的“CLASS C”访问“CLASS A”函数
- typescript - 函数的打字稿条件返回类型
- eclipse - 在 Eclipse 中找不到 Tomcat 运行时库的 Javadoc
- sql - 触发器:根据另一列的值更新列
- c++ - 使用 [[unlikely/likely]] 属性时,MSVC C++ 编译器在相同代码的不同版本上给出不一致的性能
- powershell - 在 powershell 中导出 CSV 以包含读取主机条目中的“$server”
- pwabuilder - 在 PWA 中隐藏浏览器栏
- java - 在 Java 中将数据读入二叉搜索树
- azure - Azure 授权:REST API 中的范围参数是什么?
- firebase - 尽管令牌过期时间为 1 小时,如何让我的 Firebase 应用程序的用户保持登录状态