在Kubernetes中从另一个容器中启动另一个容器

时间:2018-08-15 11:53:26

标签: docker kubernetes

我有一个容器,可以对某些数据执行某些操作。该容器占用大量内存和CPU资源,我希望它仅按需启动。

作为示例,使用docker-compose,在Kubernetes中,我是这样使用的:

docker-compose run heavycontainer perform.sh some-action

容器执行操作并结束。

在Kubernetes中,我希望此容器执行它提供的操作,但是要响应某些消息(AMQP消息,由其他容器创建)。我有一个监听消息的容器。我首先想到的是一个带有两个容器的吊舱:听者和表演者。但是我不知道是否可能从另一个容器启动。

init或sidecar容器似乎不是解决方案。而且我更喜欢避免创建自定义图像以将侦听器注入表演者。

有什么办法可以做到这一点?

2 个答案:

答案 0 :(得分:1)

<罢工> 希望对您有帮助。

  • 广告连播需要run regularlyCronJob

  • 吊舱需要run on demandJob

首先,对于您的错误回答,我深表歉意。

我了解您现在想要什么,并且我认为可以在同一容器中运行多个容器。 Patterns for Application Augmentation on OpenShift对您有帮助。

PS。 OpenShift是Enterprise Kubernetes,因此您可以认为OpenShift与Kubernetes相同。

答案 1 :(得分:0)

您可以根据队列中相关消息的数量,使用“水平容器自动缩放”(https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/)来组织重型容器。