gpt4 book ai didi

kubernetes - 1 个 pod 中的多个容器延迟

转载 作者:行者123 更新时间:2023-12-02 11:58:39 26 4
gpt4 key购买 nike

我还处于了解k8的初级阶段,所以如果你觉得这很蹩脚,请原谅。但我想知道是否有办法延迟或下令在 1 个 pod 中执行容器。
假设我们有 1 个 Pod A 和 2 个容器。例如,一个暴露端口 9092 和端口 8081 的 kafka 容器和另一个容器说一个 Kafka 连接图像,它同时访问了这两个端口。我想知道是否有办法先执行 Kafka 容器,然后执行 Kafka 连接容器,这样它就不会被杀死。

1)我们可以在 2 个容器创建之间有一些延迟或 sleep 吗?

2)我们是否可以在 pod 中对容器执行某种优先级,以便我们可以完成上述情况?

PS:我考虑过创建 2 个 pod,目前正在努力。但也想尝试这样做并同时学习新的东西。谢谢。

最佳答案

不,您不能,但是您可以更改第二个镜像的启动命令,以通过 localhost 轮询第一个容器的端口的可用性。 .当两个端口都接受连接时,您就知道可以继续启动第二张图像中的应用程序了。

如果您不能自己修改第二个镜像,您可以使用镜像中可能使用的任何脚本语言创建一个包含您自己的启动脚本的配置映射。将配置映射挂载到容器中的某个路径,然后覆盖在 pod 定义中为容器运行的命令(取决于您如何部署它),以调用从配置映射中挂载的脚本。

然后,您的脚本可以进行轮询,当对第一个容器运行正常感到满意时,它将执行容器用于启动应用程序的原始命令。

如果您要使用两个 pod,那么您仍然可以使用相同的想法,但不是 localhost将主机名用于第一个 pod 的服务。在两个 pod 的情况下,您可以在 init 容器中运行脚本,而不是劫持实际镜像的原始启动命令。

关于kubernetes - 1 个 pod 中的多个容器延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48718814/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com