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

ArgoCD部署Helm应用未加载values.yml的问题求助

解决ArgoCD加载本地values.yml失败的问题

错误原因

当你配置的ArgoCD Application使用远程Helm仓库(repoURL指向https://charts.aerokube.com/)时,helm.valueFiles中指定的values.yml路径是相对于远程chart包内部的文件结构,而非本地文件系统的路径。ArgoCD会拉取远程的moon2 chart包,尝试在包内查找values.yml,但你的本地values.yml并未被包含在远程chart中,因此出现文件找不到的错误。

解决方案

以下是几种可行的解决方式,根据你的场景选择:

方案1:直接在Application中嵌入values内容

适合配置内容较短的场景,将本地values.yml的内容直接写入Application的helm.values字段:

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: moon
  namespace: argocd
spec:
  project: aerokube
  source:
    chart: moon2
    repoURL: https://charts.aerokube.com/
    targetRevision: 2.4.0
    helm:
      values: |
        customIngress:
          enabled: true
          annotations:
            cert-manager.io/cluster-issuer: "letsencrypt"   
          ingressClassName: nginx
          host: moon3.benighil-mohamed.com
          tls:
          - secretName: moon-tls
            hosts:
            - moon3.benighil-mohamed.com
        configs:
          default:
            containers:
              vnc-server:
                repository: quay.io/aerokube/vnc-server
                resources:
                  limits:
                    cpu: 400m
                    memory: 512Mi
                  requests:
                    cpu: 200m
                    memory: 512Mi
  destination:
    server: "https://kubernetes.default.svc"
    namespace: moon1
  syncPolicy:
    syncOptions:
      - CreateNamespace=true

方案2:将values.yml托管到Git仓库(推荐)

适合需要版本控制或配置复杂的场景,将application.yml和values.yml上传到同一个Git仓库,然后修改Application的source指向该Git仓库,同时指定远程chart地址:

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: moon
  namespace: argocd
spec:
  project: aerokube
  source:
    repoURL: <你的Git仓库HTTPS/SSH地址>
    targetRevision: main  # 对应Git分支
    path: ./  # 指向仓库中包含values.yml的目录
    helm:
      chart: moon2
      repoURL: https://charts.aerokube.com/
      targetRevision: 2.4.0
      valueFiles:
      - values.yml
  destination:
    server: "https://kubernetes.default.svc"
    namespace: moon1
  syncPolicy:
    syncOptions:
      - CreateNamespace=true

这种方式下,ArgoCD会先拉取Git仓库中的values.yml,再结合远程的moon2 chart完成安装。

方案3:通过ArgoCD CLI传递本地values文件

如果使用CLI管理Application,可以通过--helm-value-file参数直接指定本地values.yml:

argocd app apply moon -f application.yml --helm-value-file values.yml

注意:这种方式属于临时传递配置,并非声明式持久化配置,若需长期维护,推荐方案1或2。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 13:35:18