我有一个管理多个k8s集群的存储库,其结构如下:
clusters/cluster-1/flux
clusters/cluster-2/flux
flux/common/common-software-1
flux/common/common-software-1
...
每个集群的flux
目录包含各种配置值的覆盖,例如:
- 集群名称
- 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替代品替换一组通用文件中的值。但是,我遇到了几个问题:
- 似乎我需要将一大块替换配置复制粘贴到每个集群的配置文件中。
- 似乎无法从引用资源的文件路径之外的目录引用属性文件。
有没有解决方案可以让我做到这一点?或者有完全不同的方法来减少重复量?