kubernetes - 如何在gitlab中维护helm仓库

标签 kubernetes gitlab kubernetes-helm

我有一个 Helm Chart,我想将其添加到我的 gitlab 存储库中。但是当我运行时:

helm repo add repo_name url 

我收到以下错误:

Error: looks like "https://gitlab.<domain>.com/group/infra/repo/helm/charts/" is not a valid chart repository or cannot be reached: error converting YAML to JSON: yaml: line 3: mapping values are not allowed in this context

Linter 显示它是一个有效的图表。

这是index.yaml:

apiVersion: v1
entries:
  helloworld:
  - apiVersion: v2
    appVersion: 1.0.0
    created: "2021-06-28T14:05:53.974207+01:00"
    description: This Helm chart will be used to create hello world 
    digest: f290432f0280fe3f66b126c28a0bb21263d64fd8f73a16808ac2070b874619e7
    name: helloworld
    type: application
    urls:
    - https://gitlab.<domain>.com/group/infra/repo/helm/charts/helloworld-0.1.0.tgz
    version: 0.1.0
generated: "2021-06-28T14:05:53.973549+01:00"

不确定这里缺少什么。

最佳答案

您似乎想使用 gitlab 上托管的 helm 图表。不幸的是,它不会按照你想要的方式工作。如Lei Yang评论中提到得很好:

helm repo and git repo are different things.

在Helm的官方文档中可以找到The Chart Repository Guide 。 您还可以找到它作为指南 how to create a chart repository :

A chart repository is an HTTP server that houses an index.yaml file and optionally some packaged charts. When you're ready to share your charts, the preferred way to do so is by uploading them to a chart repository.

在这里您可以找到如何正确使用的部分 host chart repos 。有多种方法可以实现此目的 - 例如,您可以使用 Google Cloud Storage (GCS) 存储桶、Amazon S3 存储桶、GitHub Pages,甚至创建您自己的 Web 服务器。

您还可以使用ChartMuseum服务器从本地文件系统托管图表存储库。

ChartMuseum is an open-source Helm Chart Repository server written in Go (Golang), with support for cloud storage backends, including Google Cloud Storage, Amazon S3, Microsoft Azure Blob Storage, Alibaba Cloud OSS Storage, Openstack Object Storage, Oracle Cloud Infrastructure Object Storage, Baidu Cloud BOS Storage, Tencent Cloud Object Storage, DigitalOcean Spaces, Minio, and etcd.

或者,也可以 host helm charts in JFrog .

关于kubernetes - 如何在gitlab中维护helm仓库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68164937/

相关文章:

java - PKIX路径验证失败:java.security.cert.CertPathValidatorException:签名检查失败-jenkins

gitlab-ci 规则仅适用于合并请求的手 Action 业

kubernetes - Kubernetes/Openshift 上的 Gitlab-Runner

kubernetes-helm - 如何在 Helm 3 中创建任意数量的相同依赖关系图表的实例?

docker - 如何在 Pod 间广播 gRPC 流

kubernetes - 如何在RHEL VM上运行minikube?

kubernetes - 仅当自定义资源定义存在时才使用 helm 创建 Kubernetes 资源

kubernetes - Kubernetes以root身份运行pod

kubernetes - 如何正确连接 K8S 对象?

gitlab - 在哪里可以找到 GitLab API 的项目 ID?