Directory

介绍

Directory 类型的应用直接从 .yml.yaml.json 文件中加载 manifests。Directory 应用可以通过平台 UI、Argo CD Dashboard、CLI 或声明式方式创建。示例声明式语法:

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: guestbook
spec:
  destination:
    namespace: default
    server: https://kubernetes.default.svc
  project: default
  source:
    path: guestbook
    repoURL: https://github.com/argoproj/argocd-example-apps.git
    targetRevision: HEAD

除非需要额外的配置选项,否则不需要 spec.source.directory 字段。Argo CD 会自动检测源代码仓库/路径中是否包含普通的 manifest 文件。

优势

  • 简洁性:直接从 manifest 文件加载资源,无需额外抽象。

  • 低维护:无需配置管理开销。

使用场景

  • 管理多个 Kubernetes 资源(例如 Deployments、Services、ConfigMaps)。

  • 小规模项目、资源较少或快速采用 GitOps。

  • 部署不含动态模板或复杂配置管理的原始 YAML 文件。

WARNING

Directory 类型应用仅支持普通 manifest 文件。如果 Argo CD 在 Directory 路径中检测到 KustomizeHelmJsonnet 文件,则渲染 manifest 会失败。

References

For more detailed instructions, refer to: Directory