我正在努力使用 ArgoCD 安装具有依赖项的 Helm Chart。
我可以使用
helm install ...
安装 Helm Chart,没有任何问题。
但ArgoCD似乎完全忽略了helm图表的依赖性。
我已经搜索了很多,但似乎没有人有问题(除非使用条件来实现依赖,而我没有使用)。
更多细节:
这是基础图表的 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(带有依赖项),不是吗?
我相信您在应用程序资源和 Chart.yaml 中以相同的方式引用存储库,并已配置 ArgoCD 默认项目以允许此存储库。
您在应用程序资源中使用
targetRevision: 1.0.1
,而 Chart.yaml 指定 version: 1.0.0
。仓库中是否存在 1.0.1 版本?
尝试将此挂钩添加到应用程序资源中:
同步策略: 自动化: 修剪:真实 自我修复:正确 挂钩: - 类型:后同步 命令:[“头盔”] args:[“依赖项”,“更新”]