nig*_*owl 8 kubernetes microservices gitops argocd
我们有一个 ArgoCD 项目。在这个项目中,我们有多个应用程序(我们称它们为 A、B 和 C),它们通过 Kafka 集群相互传递消息。为此,需要创建主题。
应用程序 A 负责管理 Kafka 集群(除其他外)。我们在应用程序 A 中有一个 PreSync 挂钩,用于在更新应用程序 B 和 C 所依赖的其他资源之前创建和配置主题的作业。
这意味着我们需要应用程序 A 在其他应用程序之前同步,以确保顺利推出。为了尝试管理这个问题,我们将应用程序 A 添加到 SyncWave -1,其他应用程序处于默认状态0
kind: Application
metadata:
name: "A"
annotations:
argocd.argoproj.io/sync-wave: "-1"
Run Code Online (Sandbox Code Playgroud)
我们最初的假设(也许是愚蠢的)是同步协调应用于项目内,但是,它似乎仅应用于应用程序内。
因此,应用程序 A 中的资源会等待 PreSync 挂钩按预期配置主题,但应用程序 B 和 C 不会等待应用程序 A 同步。
有没有办法控制项目内应用程序之间同步的顺序/依赖关系?
我见过提到“应用程序的应用程序”模式,其中您有一个应用程序部署所有其他应用程序。这样做是否允许我们利用 SyncWave 确保应用程序 A 在尝试同步应用程序 B 和 C 之前完全解析?如果没有,还有其他办法吗?
我们有一个应用程序中的应用程序(引导应用程序),这就是我们在应用程序之间编排同步波的方式。我没有运气,但也将同步波添加到每个应用程序的清单中。从文档看来,清单是按种类应用的(例如,首先是命名空间),然后按名称的字母顺序应用(不区分大小写)。
| 归档时间: |
|
| 查看次数: |
5668 次 |
| 最近记录: |