ArgoCD应用集中的List在更新时可能会出现不应用和/或无操作的问题,该问题常常发生在使用嵌入式jsonnet的场景中。为了解决这个问题,可以加入以下代码段:
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: example-app
spec:
source:
repoURL: https://github.com/example/repo
targetRevision: HEAD
destination:
server: https://kubernetes.default.svc
namespace: default
project: app-project
syncPolicy:
automated:
prune: true
dependencies:
- name: database
source:
chart: repo/database
values: |
{
values-1: value-1,
values-2: value-2
}
- list:
elements:
- name: backend
source:
chart: repo/backend
values: |
{
values-1: value-1,
values-2: value-2
}
- name: frontend
source:
chart: repo/frontend
values: |
{
values-1: value-1,
values-2: value-2
}
- name: cache
source:
chart: repo/cache
values: |
{
values-1: value-1,
values-2: value-2
}
在上述示例中,List被显式地声明为应用集,并在应用示例中进行定义。在这个示例中,database依赖项是一个单独的应用程序,而包含backend、frontend和cache的list是应用集的一部分。此外,在List定义中,每个元素(即backend、frontend和cache)都是应用程序,它们可以包含源代码、图表和值。这样,就可以使用ArgoCD应用程序来管理所有的应用。
上一篇:Argocd应用程序资源无法删除