Argo CD的ApplicationSet是一种功能强大的工具,用于在Kubernetes集群中批量创建和管理应用程序。它允许你使用模板化的方式定义和部署大量相似的应用程序实例。
ApplicationSet基于Kustomize和Kubernetes的自定义资源(Custom Resource Definition,CRD)机制实现。它使用模板和参数化配置来生成一组应用程序实例,每个实例都可以根据模板中定义的规则进行个性化配置。
使用ApplicationSet,你可以实现以下功能:
总之,Argo CD的ApplicationSet提供了一种强大的方式来批量创建和管理应用程序实例。它通过模板化和参数化配置,使得在Kubernetes集群中部署大量相似应用程序变得更加简单和高效。

kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/applicationset/v0.4.1/manifests/install.yaml

ApplicationSet并不会操作kubernetes资源
除ArgoCD 部署的集群外,ApplicationSet 不会连接其他集群
除ArgoCD部署的命名空间外,ApplicationSet不与其他命名空间交互
ApplicationSet 是 Argo CD 中的一种特殊资源类型,它允许你通过模板化和参数化的方式来创建和管理多个应用程序。ApplicationSet 的原理是根据定义的模板和参数生成一组具体的应用程序资源,并将其提交给 Argo CD 进行处理和部署。
下面是 ApplicationSet 的基本原理:
通过使用 ApplicationSet,你可以通过一次定义和管理多个相似的应用程序。它可以帮助你提高工作效率,减少手动操作和重复工作。例如,你可以定义一个模板,根据不同的参数值生成多个相似的应用程序,如不同环境的部署、多个命名空间的部署等。

根据提供的列表参数生成模板
上述list指定部署到两个k8s集群
根据Argocd管理的集群自动生成集群参数
下述clusters不填写表示应用部署到argocd中配置的全部k8s集群

部署到指定k8s集群,下述cluster是外部集群

怎么确定是填写cluster?查看argocd命名空间下保密字典(Secret),添加外部集群会生成一个Secret


部署后查看应用详情
Git 仓库中的文件或文件夹生成参数
官方示例地址:https://github.com/argoproj/applicationset
- git会根据上述两个目录生成对应参数
- path是上述两个文件夹路径
- path.basename上述两个文件夹名称


第二个目录需要排除

json文件中配置address地址有问题,若是配置问题如何排除?


组合两个子生成器的参数,做矩阵运算

更多【云原生-26.云原生ArgoCD高级之ApplicationSet】相关视频教程:www.yxfzedu.com