Terraform 无法下载现有的 bitnami 图表

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

我计划使用 terraform 在 K8S 上设置 jenkins 管道来提供我的 CI/CD 环境。

我正在使用 Terraform v0.12.18

我的 terraform 文件具有以下资源

resource "helm_release" "jenkins-master" {
  name = "jenkins"
  chart = "jenkins"
  version = "7.0.3"
  repository = "https://charts.bitnami.com/bitnami"


  set {
    name = "jenkinsUser"
    value = "admin"
  }
  set {
    name = "jenkinsPassword"
    value = "admin"
  }
}

当我跑步时 terraform apply-input=false 供应计划

我收到以下错误。

Error: failed to download "https://charts.bitnami.com/bitnami/jenkins-7.0.3.tgz" (hint: running `helm repo update` may help)

但是当我使用

直接运行 helm install 时

helm 安装 my-jenkins bitnami/jenkins --版本 7.0.3

然后安装詹金斯。

如果我点击链接https://charts.bitnami.com/bitnami/jenkins-7.0.3.tgz那么我也可以下载图表。

有人可以帮忙找出问题吗?

谢谢 阿尔佩什

jenkins-pipeline terraform kubernetes-helm bitnami kubernetes-jenkins-plugin
5个回答
7
投票

该问题是由于 helm-terraform-provider 默认使用

verify = true
引起的。

等效的 helm 命令是

helm install my-jenkins bitnami/jenkins --version 7.0.3 --verify --debug

这将触发以下错误:

> helm install my-jenkins bitnami/jenkins --version 7.0.3 --verify --debug
install.go:172: [debug] Original chart version: "7.0.3"
Error: failed to fetch provenance "https://charts.bitnami.com/bitnami/jenkins-7.0.3.tgz.prov"
helm.go:81: [debug] failed to fetch provenance "https://charts.bitnami.com/bitnami/jenkins-7.0.3.tgz.prov"

这是上游图表的问题,我们正在调查它。

作为临时解决方法,设置

verify = false
应该可以解决该问题。

如果问题仍然存在,将 HELM_DEBUG=1 添加到 terraform apply 命令将提供有用的信息来确定问题的根本原因。


2
投票

解决方案/解决方法: 手动下载图表文件,保存到本地文件并设置

chart = "<path-to-your-local-file>"

2
投票

当我第一次在新安装的 Ubuntu 22.04 上运行

terraform apply
时,我遇到了同样的错误。该解决方案是第一次手动运行
helm repo update

helm repo add bitnami https://charts.bitnami.com/bitnami
    "bitnami" already exists with the same configuration, skipping

helm search repo bitnami
    WARNING: Repo "bitnami" is corrupt or missing. Try 'helm repo update'.
    WARNING: open /home/xxxx/.cache/helm/repository/bitnami-index.yaml: no such file or directory
    No results found

helm repo update
    Hang tight while we grab the latest from your chart repositories...
    ...Successfully got an update from the "cetic" chart repository
    ...Successfully got an update from the "bitnami" chart repository
    Update Complete. ⎈Happy Helming!⎈

0
投票

当您的目录名称与图表名称与部署图表的 TF 文件处于同一级别时,可能会出现此问题。

因此,在您的示例中,如果您有一个名为

jenkins
的目录,Terraform 将尝试将其用作 Helm 图表,并且仅考虑您提供的
repository
(如果它不存在)。

resource "helm_release" "jenkins-master" {
  name = "jenkins"
  chart = "jenkins"
  version = "7.0.3"
  repository = "https://charts.bitnami.com/bitnami"

  ...
}

-1
投票

如果存储库未添加到本地 helm 存储库列表中,那么您会收到类似错误;

Error: failed to download "https://github.com/kubernetes/autoscaler/releases/download/cluster-autoscaler-chart-9.13.1/cluster-autoscaler-9.13.1.tgz" at version "9.13.1"

然后,如果您将目标存储库添加到本地,一切都应该没问题

helm repo add [NAME] [URL]
© www.soinside.com 2019 - 2024. All rights reserved.