Charts仓库

本文介绍了如何设置和管理Helm Chart仓库,包括仓库结构、普通web服务器配置、存储chart、添加新chart以及分享仓库给他人。仓库由chart包和index.yaml组成,确保chart和index.yaml的正确存储和更新是关键。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Chart仓库

1:chart仓库结构

chart仓库由chart包和包含了仓库中所有chart索引的特殊文件index.yaml。 通常描述chart的index.yaml也托管在同一个服务器上作为 来源文件。

比如,https://example.com/charts仓库布局可能看起来像这样:

charts/
|
|- index.yaml
|
|- alpine-0.1.2.tgz
|
|- alpine-0.1.2.tgz.prov
在这个案例中,index文件包含了Alpine这一个chart的信息,并提供了下载地址:https://example.com/charts/alpine-0.1.2.tgz。

index.yaml文件不是必须和chart包放在同一个服务器上,但是这样是最方便的。

index文件

2 普通web服务器

配置一个一般的服务器来提供Helm chart,您只需执行以下操作:

将index和chart放置在可提供服务的服务器目录中
确保index.yaml文件无需验证即可访问
确保yaml文件是正确的内容类型(text/yaml或text/x-yaml)
比如,如果你想在$WEBROOT/charts提供你的chart,要保证在web的root目录有一个charts/目录,并将index文件和chart放在这个目录中。

3 在chart仓库中存储chart

现在你拥有了一个chart仓库,上传一个chart和index文件到仓库中。仓库中的chart必须打包(helm package chart-name/) 且使用正确的版本号(参照 SemVer 2指导)。

下一步构建一个简单的示例工作流,不过欢迎你使用自己喜欢的工作流来存储和更新你的chart仓库。

一旦你准备好了打包的chart,创建一个新目录,然后将包移动到这个目录中。

$ helm package docs/examples/alpine/
$ mkdir fantastic-charts
$ mv alpine-0.1.0.tgz fantastic-charts/
$ helm repo index fantastic-charts --url https://fantastic-charts.storage.googleapis.com
最后一条命令会用刚才创建的本地路径和远程仓库url构建一个index.yaml文件放在给定的目录路径中。

现在你可以使用同步工具或手动上传chart和index文件到chart仓库中。如果使用的是Google Cloud Storage,使用gsutil客户端检查 示范工作流。针对于GitHub,你可以简单地将chart放在合适的目标分支中。

添加一个新的chart到已有仓库中

每次你想在仓库中添加一个新的chart时,你必须重新生成index。helm repo index命令会完全无痕重建index.yaml文件。只包括在本地找到的chart。

不过你可以使用–merge参数增量添加新的chart到现有index.yaml文件中(使用类似GCS的远程仓库时很有用)。执行 helm repo index --help了解更多。

确保修订过的index.yaml文件和chart都上传了,如果生成了源文件,也要上传

5 与别人分享你的chart

准备好分享你的chart时,只需要告诉别人你的仓库地址就可以了。

他们会通过helm repo add [NAME] [URL]命令将仓库添加到他们的客户端,并使用想引用仓库的任何名称。

$ helm repo add fantastic-charts https://fantastic-charts.storage.googleapis.com
$ helm repo list
fantastic-charts https://fantastic-charts.storage.googleapis.com
如果chart支持HTTP的基础验证,你也需要提供用户名和密码:

$ helm repo add fantastic-charts https://fantastic-charts.storage.googleapis.com --username my-username --password my-password
$ helm repo list
fantastic-charts https://fantastic-charts.storage.googleapis.com
注意: 如果不存在有效的index.yaml就无法添加仓库。

注意: 如果你的helm仓库使用了类似于自签名的证书,为了跳过CA认证,可以使用 helm repo add --insecure-skip-tls-verify …。

然后,你的用户就可以通过你的chart进行搜索。更新了仓库之后,他们可以使用helm repo update命令获取最新的chart信息。

在内部 helm repo add 和 helm repo update 命令会检索index.yaml文件并将其存储在 $XDG_CACHE_HOME/helm/repository/cache/目录中。这里是helm search方法查找chart信息的位置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值