如何用Kubernetes Kustomize紧凑地存储共享配置?

问题描述 投票:0回答:1

首先,我不确定这个问题在Stack Overflow中是否足够具体。如果有人有什么建议,很乐意删除或修改。

我们使用Kubernetes来协调我们的服务器端代码,最近开始使用Kustomize来模块化代码。

我们的大部分后台服务都能很好地适应这种数据模型。对于我们的主事务系统,我们有一个基础配置,我们为我们的开发、暂存和不同的生产风味覆盖了调整。这真的很好,帮助我们清理了很多东西。

我们还使用TensorFlow Serving来部署机器学习模型,每个模型都经过了训练,此时已经为我们的众多客户中的每一个客户进行了部署。这些配置唯一不同的方式是在名称和元数据注释中(例如,我们可能有一个叫做 classifier-acme 还有一个叫 classifier-bigcorp),以及从我们的blob存储中拉出的权重束(例如,人们会从 storage://models/acme/classifier 和另一个将从 storage://models/bigcorp/classifier). 我们还分配了不同的命名空间来隔离开发、生产等。

根据我对Kustomize系统的理解,如果我们想在Kustomize文件中编码当前集群的全部状态,我们需要为每一个客户建立一个不同的基础和一套覆盖。这似乎是一个巨大的目录数量,因为我们有很多客户。如果我们有100个客户和5个不同的私奔环境,那就是500个目录,其中有一个 kustomize.yml 文件。

有没有一种工具或技术可以对Kustomize的这种重复进行编码?或者说有没有其他工具可以帮助我们更系统、更紧凑地生成Kubernetes配置?

kubernetes tensorflow-serving kustomize
1个回答
0
投票

你可以有更复杂的覆盖结构,而不仅仅是直接的矩阵方式。所以像一个应用有 apps/foo-base 然后 apps/foo-devapps/foo-prod 其中都有 ../foo-base 在他们的基地里,然后这些又被拉进了他们的基地。overlays/us-prodoverlays/eu-prod 以及诸如此类的东西。

但如果每一个客户和环境的组合都真的需要自己的设置,那么你最终可能确实会有很多的覆盖。

© www.soinside.com 2019 - 2024. All rights reserved.