【发布时间】:2018-08-22 01:48:15
【问题描述】:
我们目前在单个 Kubernetes 集群中运行多个网站。
整个集群的配置和其中的每个服务都包含在一组配置文件中,我们将这些配置文件保存在“deployment-configs”存储库中,以便可以使用标准 Git 工作流查看对该配置的更改, 在应用于集群之前。
所以目前,我们有 Jenkins 作业,kubectl apply -fs 有效地处理了该存储库中的所有文件,每当发生变化时我们都会运行这些文件。
这感觉相当脆弱 - 如果某个关键性的重大更改以某种方式进入该存储库,那么运行该 Jenkins 作业可能会一口气关闭我们所有的生产站点。
另一种方法是在配置发生更改时选择性地应用它们 - 例如每个服务一个。这里的缺点是我们增加了集群的实际形状更有可能与存储库描述的不同的可能性。
有没有办法在实际应用更改之前询问 Kubernetes 究竟要应用哪些更改?这会有所帮助,因为我们可以在将配置应用到整个集群之前做一个检查步骤。
或者有人知道管理 Kubernetes 集群配置的其他策略吗?
【问题讨论】:
-
我在工作中发现了一个新的 alpha 命令,kubectl alpha diff,这对我有很大帮助。但是,它doesn't work as expected。
标签: git jenkins deployment continuous-integration kubernetes