ArgoCD 不安装 helm 图表依赖项

问题描述 投票:0回答:1

我正在努力使用 ArgoCD 安装具有依赖项的 Helm Chart。

我可以使用

helm install ...
安装 Helm Chart,没有任何问题。

但ArgoCD似乎完全忽略了helm图表的依赖性。

我已经搜索了很多,但似乎没有人有问题(除非使用条件来实现依赖,而我没有使用)。

更多细节:

  • 我的图表是一个 std helm 3 图表,位于不使用身份验证的私人存储库中(如果图表没有依赖项,我可以从同一存储库安装图表)
  • 我的图表(和依赖)图表定义了 helm(预安装)挂钩(根据 argocd 文档支持)
  • 再次根据 argocd 文档,头盔钩重被保留,这是我需要的

这是基础图表的 Chart.yaml(我依赖):

apiVersion: "v2"
name: "base-chart"
version: "1.0.0"
appVersion: "1.0.0"

这是实际图表的Chart.yaml:

apiVersion: "v2"
name: "app-chart"
version: "1.0.1"
appVersion: "1.0.1"
dependencies:
- name: "base-chart"
  version: "1.0.0"
  repository: "https://<my-private-repo>/repository/<repo>"
  alias: "base"

这是 argocd 应用程序清单:

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: myapp
  namespace: argocd
  labels:
    name: myapp
  annotations:
    argocd.argoproj.io/sync-wave: "1"
spec:
  project: default

  sources:
    - repoURL: https://<mynexus.com>/repository/<repo>/
      targetRevision: 1.0.1
      chart: app-chart

  destination:
    server: https://kubernetes.default.svc
    namespace: myapp

以下是 argocd 安装的详细信息:

[root@kubernetes1 mydir]# argocd version
argocd: v2.12.1+26b2039
  BuildDate: 2024-08-16T17:01:06Z
  GitCommit: 26b2039a55b9bdf807a70d344af8ade5171d3d39
  GitTreeState: clean
  GoVersion: go1.22.6
  Compiler: gc
  Platform: linux/amd64
argocd-server: v2.12.1+26b2039
  BuildDate: 2024-08-16T16:42:13Z
  GitCommit: 26b2039a55b9bdf807a70d344af8ade5171d3d39
  GitTreeState: clean
  GoVersion: go1.22.4
  Compiler: gc
  Platform: linux/amd64
  Kustomize Version: v5.4.2 2024-05-22T15:19:38Z
  Helm Version: v3.15.2+g1a500d5
  Kubectl Version: v0.29.6
  Jsonnet Version: v0.20.0

我在 argocd 应用程序服务器和存储库服务器日志或 argocd ui 上找不到任何相关错误消息。应用程序正确同步并显示同步。然而,从属图表中的资源却找不到。

感谢任何帮助或指示。我真的被困住了。

我是 argocd 的新手,但感觉这应该是最基本的场景之一,我的意思是安装一个 Helm Chart(带有依赖项),不是吗?

kubernetes-helm argocd helm3
1个回答
0
投票
  1. 我相信您在应用程序资源和 Chart.yaml 中以相同的方式引用存储库,并已配置 ArgoCD 默认项目以允许此存储库。

  2. 您在应用程序资源中使用

    targetRevision: 1.0.1
    ,而 Chart.yaml 指定
    version: 1.0.0
    。仓库中是否存在 1.0.1 版本?

  3. 尝试将此挂钩添加到应用程序资源中:

    同步策略: 自动化: 修剪:真实 自我修复:正确 挂钩: - 类型:后同步 命令:[“头盔”] args:[“依赖项”,“更新”]

© www.soinside.com 2019 - 2024. All rights reserved.