You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何ArgoCD未执行Kustomize资源定制反而尝试创建Kustomization资源?

问题分析与解决方法

原因

ArgoCD把kustomization.yaml当作集群资源创建的核心原因是应用配置未启用Kustomize构建模式:

  • 你可能直接指定kustomization.yaml作为部署的资源文件,而非指向包含该文件的目录触发ArgoCD的Kustomize构建流程;
  • ArgoCD误将kustomization.yaml识别为Kubernetes的Kustomization CRD资源(多数集群默认未安装该CRD),导致卡在资源创建环节,自然不会执行注解注入和资源生成逻辑。

解决步骤

1. 修正ArgoCD应用的源配置

UI创建应用场景

在应用创建页面的「Source」区域:

  • 勾选「Directory recurse」选项;
  • 「Path」填写包含kustomization.yaml的目录路径(比如./test-namespace),而非具体的kustomization.yaml文件路径;
  • 确保未在「Source」的其他配置(如Helm、Jsonnet)中覆盖Kustomize处理逻辑。

YAML定义Application资源场景

修改spec.source.path指向目录而非单个文件,示例配置:

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: test-namespace-app
  namespace: argocd
spec:
  project: default
  source:
    repoURL: <你的代码仓库地址>
    targetRevision: HEAD
    path: ./test-namespace  # 指向包含kustomization.yaml的目录
  destination:
    server: https://kubernetes.default.svc
    namespace: default
  syncPolicy:
    automated:
      prune: true
      selfHeal: true

2. 清理错误同步记录

  • 在ArgoCD UI的应用「Resources」标签中,删除状态为「Pending」的Kustomization类型资源;
  • 若集群中已存在该CRD资源,用kubectl手动清理:
    kubectl delete kustomization <错误资源名> -n <对应命名空间>
    

3. 验证本地Kustomize构建正确性

先在本地运行命令确认配置逻辑正常:

kustomize build <你的目录路径>

输出的Namespace资源应包含argocd.argoproj.io/sync-wave: "-9999"注解,确保配置本身无语法错误。


内容的提问来源于stack exchange,提问作者Michael Chudinov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 06:05:23