首先,我不确定这个问题对于Stack Overflow是否足够具体。如果有人有任何建议,我很乐意删除或修改。
我们使用Kubernetes来编排我们的服务器端代码,并且最近开始使用Kustomize来模块化代码。
我们的大多数后端服务都很好地适应了这个数据模型。对于我们的主要事务系统,我们有一个基本配置,我们将其与我们的开发、试运行和不同生产风格的调整叠加在一起。这真的很好用,并帮助我们清理了大量的东西。
我们还使用TensorFlow服务来部署机器学习模型,每个模型都经过训练,并在此时为我们的许多客户端中的每个客户端进行部署。这些配置的唯一不同之处在于名称和元数据注释(例如,我们可能有一个称为classifier-acme,另一个称为classifier-bigcorp),以及从我们的blob存储中提取的权重捆绑(例如,一个从storage://models/acme/classifier中提取,另一个从storage://models/bigcorp/classifier中提取)。我们还分配了不同的名称空间来分隔开发、生产等。
根据我对Kustomize系统的理解,如果我们想要在Kustomize文件中编码当前集群的整个状态,我们需要为每个客户提供不同的基础和覆盖集。这似乎是一个巨大的目录数量,因为我们有许多客户。如果我们有100个客户和5个不同的私奔环境,那么有500个目录和一个kustomize.yml文件。
有没有工具或技术可以用Kustomize对这种重复进行编码?或者,是否有其他工具可以帮助我们以更系统、更紧凑的方式生成Kubernetes配置?
发布于 2020-04-25 03:30:17
你可以有更复杂的覆盖结构,而不仅仅是直接的矩阵方法。就像一个应用程序,先是apps/foo-base,然后是apps/foo-dev和apps/foo-prod,它们的基础都是../foo-base,然后这些应用又被overlays/us-prod和overlays/eu-prod之类的东西拉进来。
但是,如果每个客户和环境的组合确实需要自己的设置,那么您可能最终会得到许多覆盖。
https://stackoverflow.com/questions/61415731
复制相似问题