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

如何管理外部Helm Chart依赖并声明式集成第三方贡献Chart

自研Helm Chart集成第三方Chart的实现方案

Helm原生提供依赖管理能力,完全支持声明式配置所有第三方依赖,单次执行helm install/upgrade即可完成全量部署,天然适配CI/CD幂等性要求,具体实现如下:

场景1:添加Bitnami MySQL作为依赖

不需要手动编写MySQL资源配置,直接通过Chart.yaml声明依赖即可:

  1. 编辑自研Chart根目录下的Chart.yaml,新增dependencies字段:
# Chart.yaml 示例片段
apiVersion: v2
name: my-backend-chart
version: 1.0.0
description: 自研后端应用Chart
dependencies:
  # 声明Bitnami MySQL依赖
  - name: mysql
    version: 9.14.1 # 替换为你需要的具体版本
    repository: https://charts.bitnami.com/bitnami
    condition: mysql.enabled # 可通过values参数灵活控制是否安装该依赖
  1. 自定义MySQL配置:不需要修改第三方Chart源码,直接在自研Chart的values.yaml中添加带mysql前缀的配置项即可:
# values.yaml 示例片段
mysql:
  enabled: true
  auth:
    rootPassword: "自定义数据库密码"
  primary:
    persistence:
      size: 20Gi
      storageClass: "你的集群存储类名"
  1. 依赖拉取:
    • 本地开发可以执行helm dependency build,会自动将依赖Chart下载到本地charts/目录
    • CI/CD场景可以直接在执行安装命令时添加--dependency-update参数,自动拉取对应版本依赖,无需提前手动操作

场景2:声明式集成ArgoCD

根据你的使用需求分两种实现方式:

方式A:将ArgoCD服务作为依赖安装

如果需要和你的应用同时部署ArgoCD服务,和MySQL依赖的配置逻辑一致:

  1. 在Chart.yaml的dependencies中添加ArgoCD依赖声明:
dependencies:
  - name: argo-cd
    version: 5.51.0 # 替换为你需要的ArgoCD Chart版本
    repository: https://argoproj.github.io/argo-helm
    condition: argo-cd.enabled
  1. 在values.yaml中添加argo-cd前缀的自定义配置,比如修改管理员密码、调整资源配额、开关内置组件等。

方式B:声明ArgoCD Application资源

如果集群已有ArgoCD服务,仅需要通过你的Chart声明应用交付规则,直接在自研Chart的templates/目录下添加ArgoCD Application资源模板即可:

# templates/argocd-app.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: my-application
  namespace: argocd
spec:
  project: default
  source:
    repoURL: "你的应用代码仓库地址"
    targetRevision: HEAD
    path: "代码仓库中Chart的路径"
  destination:
    server: "https://kubernetes.default.svc"
    namespace: 应用部署的目标命名空间
  syncPolicy:
    automated:
      prune: true
      selfHeal: true

CI/CD幂等部署方式

直接使用以下命令即可完成全量组件的幂等部署,不需要提前执行helm repo add等操作:

helm upgrade --install <你的发布名称> <你的Chart路径> --dependency-update -f values.yaml

重复执行上述命令只会对比集群现有资源和Chart配置的差异,仅更新变更部分,完全符合CI/CD场景的幂等性要求。

内容的提问来源于stack exchange,提问作者Bas van der Heijden

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 09:54:07