存储库

搭建私有Chart仓库

chart库是带有一个index.yaml文件和任意个打包cahrtHTTP服务器。当准备好分享chart时,首选方法是将其上传到chart库。

由于chart库可以是任何可以提供YAMLtar文件并可以回答GET请求的HTTP服务器,因此当托管自己的chart库时,很多选择。例如,可以使用Google云端存储(GCS)存储桶,Amazon S3存储桶,Github Pages,甚至可以创建自己的Web服务器。

chart库结构

chart库由打包的chart和一个名为的特殊文件组成,index.yaml其中包含chart库中所有chart的索引。通常,index.yaml描述的chart也是托管在同一台服务器上,源代码文件也是如此。例如,chart库的布局 https://example.com/charts 可能如下所示:

charts/
  |
  |- index.yaml
  |
  |- alpine-0.1.2.tgz
  |
  |- alpine-0.1.2.tgz.prov

这种情况下,索引文件包含有关一个chart(Alpine chart)的信息,并提供该chart的下载URL https://example.com/charts/alpine-0.1.2.tgz。不要求chart包与index.yaml文件位于同一台服务器上 。但是,发在一起这样做通常是最简单的。

托管chart

本部分介绍了提供chart库的几种方法。

ChartMuseum

Helm提供了一个open-source Helm库服务叫 ChartMuseum,你可以自己托管这个服务.

ChartMuseum支撑多种云存储后端.配置它指向你存放chart包的目录或者bucketindex.yaml文件会自动动态生成。

它也可以通过 Helm chart 部署:

helm install stable/chartmuseum

或者 Docker image:

docker run --rm -it \
  -p 8080:8080 \
  -v $(pwd)/charts:/charts \
  -e DEBUG=true \
  -e STORAGE=local \
  -e STORAGE_LOCAL_ROOTDIR=/charts \
  chartmuseum/chartmuseum

你可以将它加到本地存储库:

helm repo add chartmuseum http://localhost:8080

ChartMuseum提供其他特性,chart上传的API

上一页
下一页