【问题标题】:How to resolve https://kubernetes-charts.storage.googleapis.com" is not a valid chart repository如何解决 https://kubernetes-charts.storage.googleapis.com" 不是有效的图表存储库
【发布时间】:2021-04-30 13:56:36
【问题描述】:

我正在开发 helm 2 并尝试将 Tiller 部署为 pod。

>helm init --service-account tiller

但我得到以下错误: 错误:初始化错误:看起来“https://kubernetes-charts.storage.googleapis.com”不是有效的图表存储库或无法访问:获取https://kubernetes-charts.storage.googleapis.com/index.yaml:拨打tcp 172.217.2.240:443:连接:连接超时

有没有人遇到过这个错误,如果有,对于 helm2 有什么推荐的方法来克服这个错误?

【问题讨论】:

  • 你在防火墙后面吗?
  • 是的,我是,我也在使用代理到达外面
  • 你可能点击了这个:github.com/helm/helm/issues/4326
  • 您使用哪个 helm 版本?根据 github - 从 v2.11.0 开始应该可以正常工作
  • CI/CD客户端helm init --stable-repo-url=https://charts.helm.sh/stable --client-only

标签: kubernetes


【解决方案1】:

2.17.0 之前的 Helm 版本将已弃用的 https://kubernetes-charts.storage.googleapis.com/index.yaml 作为默认稳定存储库,不再解析。新的仓库是https://charts.helm.sh/stable。您可以选择:

  1. 使用--stable-repo-url 参数指定新的存储库:

    helm init --stable-repo-url https://charts.helm.sh/stable --service-account tiller
    
  2. 使用 --skip-refresh 参数并替换稳定的 repo:

    helm init --client-only --skip-refresh
    helm repo rm stable
    helm repo add stable https://charts.helm.sh/stable
    
  3. 将 helm 升级到 2.17.0 或更高版本。

【讨论】:

  • 我在使用 dtzar/helm-kubectl:2.16.1 时遇到了同样的问题
  • Helm 2.17.0 也更改了默认的 repo URL,因此另一种解决方案是升级到 Helm 2.17.0(或 3)。
  • 我在安装具有依赖项的图表时也遇到了同样的问题,并且存储库已更新为依赖项:-名称:mysql 存储库:kubernetes-charts.storage.googleapis.com 版本:1.4.0,更新存储库并解决了问题。
【解决方案2】:
helm init --client-only --skip-refresh
helm repo rm stable
helm repo add stable https://charts.helm.sh/stable

【讨论】:

  • 如果添加解释/细节,只有代码答案才能做得更有价值。
  • 第一行我得到Error: unknown command "init" for "helm"
【解决方案3】:

【讨论】:

    【解决方案4】:

    repo 无效。使用下面的回购。

    k8scka@master:~$ helm3 repo add stable https://charts.helm.sh/stable
    "stable" has been added to your repositories
    k8scka@master:~$
    

    【讨论】:

      【解决方案5】:

      我在使用 helm2 提供程序的 Terraform 中定位 helm_release 资源时遇到了这个问题。我们追查到根本原因是 helm2 使用的 ~/.helm/repository/repositories.yaml 文件丢失,Terraform 提供者也必须使用该文件。

      可以使用 helm v2 客户端重新创建文件

      helm2 init --stable-repo-url https://charts.helm.sh/stable --client-only
      

      如果你只想使用 Terraform,之后不需要保留 helm v2 客户端。

      【讨论】:

        【解决方案6】:

        只是为了历史,也许其他人也会面临。社区回答。

        "Error: error initializing: Looks like "https://kubernetes-charts.storage.googleapis.com" is not a valid chart repository or cannot be reached: Get https://kubernetes-charts.storage.googleapis.com/index.yaml: dial tcp 172.217.2.240:443: connect: connection timed out" 之类的错误通常是由于代理和非直接连接问题造成的。

        这在相关的github问题Cannot perform helm init behind proxy中讨论过,很多人都有同样的问题。根据主题 - 用户可能会在某些 helm 版本中遇到此类问题。建议从v2.11.0开始使用

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-08-02
          • 1970-01-01
          • 2018-11-25
          • 1970-01-01
          • 1970-01-01
          • 2022-12-20
          • 1970-01-01
          相关资源
          最近更新 更多