【发布时间】:2017-08-22 23:13:34
【问题描述】:
我使用 Kubernetes 1.6 和 Docker 来部署微服务的实例/pod。
我有一项服务需要定期从外部存储库中提取不断更新的数据。此更新可以在运行时手动触发,但该服务在此期间不可用。此外,始终在启动时检索最新数据,以便新启动的服务实例具有最新的外部数据。
因此,我想每小时(或其他频率)自动创建一个新的 pod,然后杀死旧的 pod。
从概念上讲,我似乎应该在部署中配置每个 pod 的最大生命周期,以便 Kubernetes 启动一个新实例/pod 并在最大生命周期已过期时终止旧实例/pod,同时确保始终存在至少在 pod 运行时。 但是,Kubernetes does not seem to provide a maximum pod lifetime。
另外,由于启动过程中的数据更新,启动 Pod 需要 1-2 分钟才能准备好。
【问题讨论】:
-
您可以将该数据存储在 pv 中,然后安排一个 cron 作业定期运行以更新数据存储?
-
@user2983542 听起来很干净,但不幸的是我无法直接访问该外部数据,因此除了定期提取之外别无他法。
-
数据有多大?
-
@TarunLalwani 它各不相同,介于 500MB 和 10GB 之间。
-
而且大部分时间都花在了引导过程中下载文件上? Rest程序启动时间快吗?
标签: docker kubernetes