【发布时间】:2018-12-07 23:36:44
【问题描述】:
我目前有一个 kubernetes 设置,我们正在运行一个解耦的 drupal/gatsby 应用程序。 drupal 充当 gatsby 在构建时从中提取的内容存储库。 Drupal 还通过自定义模块进行配置,以连接到 k8s api 并修补 gatsby 运行的部署。 Gatsby 不会持续运行,而是使用 gatsby 作为初始化容器来构建站点,以便它可以由 nginx 容器提供服务。通过修补部署(修改标签)创建一个新的副本集,该副本集强制执行新的 gatsby 构建,最终替换旧构建。
这似乎运作良好,我对它相当满意,除了一个方面。当前,当涉及到多个后续内容编辑时,副本集的默认缩放行为存在问题。当您在 drupal 中进行后续内容编辑时,它仍会联系 k8s api 并修补部署。这会导致创建一个新的副本集,原始副本集保持原样,缩小先前的副本集,并且当前正在创建的任何 pod(gatsby 构建)都被杀死。我明白为什么这在大多数情况下可能是可取的,但对我来说,这增加了您在网站上看到这些更改所需的时间。如果多人同时使用 drupal 进行编辑,这将变得更加复杂,并且可能会出现问题。
理想情况下,我希望当前正在构建的容器能够完成,并且这些副本集能够完成扩展,在完成后排队另一个要创建的副本集。这将允许尽快部署第一个构建中的任何更新,同时在包含任何后续内容之后立即排队另一个构建,并且只要负载需要它并且不再需要它,这可以继续。有没有办法做到这一点?
【问题讨论】:
标签: kubernetes