Kubernetes实战:构建生产级应用平台
上QQ阅读APP看书,第一时间看更新

2.9 触发机制

现在我们已经介绍了Kubernetes部署模型中需要解决的所有问题,考虑自动化安装和管理的触发机制是非常有用的。无论是使用Kubernetes管理服务、预安装程序,还是自己从头开始构建自定义自动化,如何启动集群构建、集群扩展和集群升级都很重要。

Kubernetes安装程序通常有一个CLI工具,可以用来启动安装过程。然而,单独使用该工具将使你无法获得元数据或集群库存列表。当你没有集群库存列表的时候,管理你的集群库存是很困难的。

近年来,GitOps方法变得很流行。在这种情况下,元数据的来源是一个代码库,它包含了管理下的集群的配置。当新集群的配置被提交时,自动化被触发以提供一个新的集群。当现有的配置被更新时,自动化被触发以更新集群,这也许是为了增加工作节点的数量或执行Kubernetes和集群附加组件的升级。

另一种更适合Kubernetes的方法是在Kubernetes定制资源中描述集群及其依赖关系,然后使用Kubernetes operator通过配置集群来响应这些定制资源中的声明状态。这就是像Cluster API这样的项目所采取的方法。在这种情况下,元数据的来源是存储在管理集群的etcd中的Kubernetes资源。然而,通常会采用多个管理集群来管理不同的区域或层级。在这里,可以结合使用GitOps方法,即集群资源清单存储在数据源控制中,管道将清单提交给适当的管理集群。通过这种方式,你可以得到GitOps和Kubernetes原生世界的精华。