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

如何在ArgoCD应用定义中配置Helm的--create-namespace参数?

解决ArgoCD同步cert-manager时命名空间不存在的问题

你的核心问题是没有在ArgoCD应用的目标配置里明确指定命名空间,仅通过Helm参数设置namespace会导致CreateNamespace=true无法生效。要实现等效于Helm--create-namespace的效果,只需调整以下配置:

  • 移除Helm参数中的namespace配置(ArgoCD会通过目标配置控制部署命名空间,无需重复设置)
  • 在spec.destination中添加目标命名空间cert-manager
  • 保留syncPolicy.syncOptions里的CreateNamespace=true,这个选项就是ArgoCD对应Helm--create-namespace的实现

修改后的完整应用定义:

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: cert-manager
  namespace: argocd
spec:
  project: default
  source:
    repoURL: 'https://charts.jetstack.io'
    targetRevision: v1.15.1
    chart: cert-manager
    helm:
      parameters:
        - name: crds.enabled
          value: 'true'
        - name: startupapicheck.timeout
          value: 5m
  destination:
    server: 'https://kubernetes.default.svc'
    namespace: cert-manager
  syncPolicy:
    syncOptions:
      - CreateNamespace=true

这样配置后,ArgoCD同步时会先自动创建cert-manager命名空间,再执行Helm安装操作,就能解决命名空间不存在的报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 17:37:06