管理 k8s 部署配置 - 在运行"kubectl apply"之前检查更改



我们目前在单个 Kubernetes 集群中运行多个网站。

整个集群的配置及其中的每个服务都包含在一组配置文件中,这些文件保存在"部署配置"存储库中,因此在应用于集群之前,可以使用标准 Git 工作流查看对该配置的更改。

因此,目前,我们有 Jenkins 作业,可以有效地kubectl apply -f该存储库中的所有文件,每当有内容发生变化时,我们都会运行这些文件。

这感觉相当脆弱 - 如果以某种方式将关键的重大更改进入该存储库,那么运行该 Jenkins 作业可能会一举关闭我们所有的生产站点。

另一种方法是在配置更改时有选择地应用配置位 - 例如,每个服务一个。这里的缺点是,我们增加了集群的实际形状更有可能与存储库描述的形状不同的机会。

有没有办法在实际应用之前询问 Kubernetes究竟将应用哪些更改?这将有所帮助,因为我们可以在将配置应用于整个集群之前执行检查步骤。

或者有谁知道任何其他管理 Kubernetes 集群配置的策略?

kubectl diff(功能 491)现在应该(对于 Kubernetes 1.11 实际上是 2018 年第 2 季度)正常工作。

问题 61145 刚刚被 PR 61227 关闭

本地和实时函数,其中执行和返回相同的操作, 默认情况下给出空结果。
通过在获取实时版本之前复制对象来修复本地函数。

当涉及到询问 Kubernetes 在实际应用它们之前将应用哪些更改时,这将有所帮助。

最新更新