我有一个包含两个容器的ReplicationController,第一个是一个长寿命的pod,第二个是在RC启动一个POD时做一些维护任务.但是,由于第二个容器是短暂的,它在完成启动任务时会自行停止.当Kuberbetes注意到这一点时,它会杀掉POD并开始一个新的...
在Kuberbetes中处理这个问题的正确方法是什么?
正如您已经注意到的那样,通过设计,容器中的所有容器都注定要一起生存和死亡.如果不知道你的伙伴需要执行什么样的维护任务,那就很难说出你最好的选择.一般来说,我可以想到三种方法:
保持维护容器正常运行.这可能是一个相当丑陋的解决方案,因为它浪费资源.如果维护任务可以定期运行,那么这才有意义.
将维护任务移至主容器,有效地将多容器窗格转换为单容器窗格.我假设您可以异步运行任务(因为您已经可以在单独的容器中运行它); 如果由于某些原因,您不能,请考虑相应地修改准备情况和活跃度探测,以便您的容器有足够的时间完成任何启动程序,然后才有资格终止.
考虑调整您的设计,以便维护任务可以作为单独的窗格运行(或者甚至可以作为工作).然后,您需要通过正确地组合Kubernetes原语来管理任何依赖项并自行连接.
归档时间: |
|
查看次数: |
1544 次 |
最近记录: |