多个集群上常用软件的 flux/kustomize 存储库结构

多个集群上常用软件的 flux/kustomize 存储库结构

我有一个管理多个k8s集群的存储库,其结构如下:

clusters/cluster-1/flux
clusters/cluster-2/flux
flux/common/common-software-1
flux/common/common-software-1
...

每个集群的flux目录包含各种配置值的覆盖,例如:

  1. 集群名称
  2. AWS 角色 ARN

创建新的集群配置很复杂并且容易出错,因为我需要复制包含多个文件/Kustomization资源​​的 flux 目录,然后使用集群特定信息修改所有覆盖。

我希望通过为每个集群提供一个包含集群特定值的配置/属性文件来简化这一点,然后拥有更多通用的 Kustiomize 资源。例如

clusters/cluster-1/cluster-1.properties文件包含:

cluster-name=cluster-1
software-role-arn=aws:...:00000000:role/software-role-name
...

然后我可以使用 Kustomize替代品替换一组通用文件中的值。但是,我遇到了几个问题:

  1. 似乎我需要将一大块替换配置复制粘贴到每个集群的配置文件中。
  2. 似乎无法从引用资源的文件路径之外的目录引用属性文件。

有没有解决方案可以让我做到这一点?或者有完全不同的方法来减少重复量?

相关内容