
chatwork/argocd-helmfileArgoCD with helmfile 是一个集成了 helmfile 工具的镜像,专为 ArgoCD(声明式 GitOps 持续交付工具)的配置管理插件设计。其核心用途是使 ArgoCD 能够通过 helmfile 管理 Helm 图表、依赖关系及部署配置,简化 GitOps 工作流中多环境、多集群的配置管理流程。
template)生成 Kubernetes 资源清单。--include-crds、--skip-tests),适配不同场景的资源生成需求。argocd-cm 配置管理插件使用。argocd-cm 插件配置方式已弃用)。argocd-cm 配置)ArgoCD with helmfile 镜像。argocd-cm:在 ArgoCD 的 ConfigMap argocd-cm 中添加 helmfile 插件配置。yaml# argocd-cm ConfigMap 配置 apiVersion: v1 kind: ConfigMap metadata: name: argocd-cm namespace: argocd data: configManagementPlugins: | - name: helmfile # 插件名称,需唯一 generate: # 资源生成阶段配置 command: ["/bin/sh", "-c"] args: ["helmfile -q template --include-crds --skip-tests"] # helmfile 命令,可按需调整参数
参数说明:
helmfile -q template:静默模式生成 Kubernetes 资源清单。--include-crds:生成清单时包含 CRD(自定义资源定义)。--skip-tests:跳过测试图表(test charts)的生成。ArgoCD 2.6 版本起,argocd-cm 中的插件配置方式已弃用,推荐通过 Sidecar 容器与 Repo Server 协同运行。
在 ArgoCD Repo Server 的 Deployment 中添加 Sidecar 容器:
yamlapiVersion: apps/v1 kind: Deployment metadata: name: argocd-repo-server namespace: argocd spec: template: spec: containers: # 原 ArgoCD Repo Server 容器 - name: argocd-repo-server image: quay.io/argoproj/argocd:v2.6.0 # ArgoCD 基础镜像 # ... 其他原有配置 ... # 添加 helmfile Sidecar 容器 - name: argocd-helmfile-sidecar image: <argocd-helmfile-image> # 当前 ArgoCD with helmfile 镜像 volumeMounts: - name: repo-server-config mountPath: /etc/argocd/ # 共享 Repo Server 配置 - name: helmfile-data mountPath: /helmfile # 挂载 helmfile 配置文件目录(按需调整) volumes: - name: repo-server-config configMap: name: argocd-repo-server-config - name: helmfile-data persistentVolumeClaim: claimName: helmfile-pvc # 存储 helmfile 配置的 PVC(按需创建)
Sidecar 核心作用:提供 helmfile 运行环境,通过共享卷与 Repo Server 交互,执行资源生成命令。
如需进一步减少资源占用,可使用官方提供的 轻量级 Sidecar 镜像,配置方式与上述 Sidecar 模式一致,仅需替换镜像地址。
helmfile.yaml 及相关依赖文件(如 values.yaml)存储在 ArgoCD 可访问的 Git 仓库或卷中。helmfile 命令参数(如添加 --environment 指定环境,--values 覆盖配置等)。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务