【问题标题】:Managing k8s deployment configs - Check changes before running`kubectl apply`管理 k8s 部署配置 - 在运行`kubectl apply`之前检查更改
【发布时间】:2018-08-22 01:48:15
【问题描述】:

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

整个集群的配置和其中的每个服务都包含在一组配置文件中,我们将这些配置文件保存在“deployment-configs”存储库中,以便可以使用标准 Git 工作流查看对该配置的更改, 在应用于集群之前。

所以目前,我们有 Jenkins 作业,kubectl apply -fs 有效地处理了该存储库中的所有文件,每当发生变化时我们都会运行这些文件。

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

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

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

或者有人知道管理 Kubernetes 集群配置的其他策略吗?

【问题讨论】:

标签: git jenkins deployment continuous-integration kubernetes


【解决方案1】:

kubectl diff (feature 491) 现在(实际上是 Kubernetes 1.11,2018 年第二季度)应该可以正常工作了。

Issue 61145刚刚被PR 61227关闭

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

这有助于在实际应用之前询问 Kubernetes 究竟要应用哪些更改。

【讨论】:

    猜你喜欢
    • 2020-09-15
    • 2018-11-30
    • 1970-01-01
    • 2018-12-14
    • 1970-01-01
    • 2020-02-07
    • 1970-01-01
    • 2019-01-06
    • 2019-10-12
    相关资源
    最近更新 更多