首页 > 技术文章 > 搭建helm私服ChartMuseum

yx88 2020-04-27 17:34 原文

介绍

ChartMuseum是一个用Go(Golang)编写的开源Helm Chart Repository服务器

ChartMuseum是一个用Go(Golang)编写的开源Helm Chart Repository服务器,支持云存储后端,包括Google云存储,Amazon S3,Microsoft Azure Blob存储,阿里云OSS存储,Openstack对象存储和Oracle云基础架构 对象存储。
 

Install

下载安装包chartmuseum

#on linux
curl -LO https://s3.amazonaws.com/chartmuseum/release/latest/bin/linux/amd64/chartmuseum

#on macOS
curl -LO https://s3.amazonaws.com/chartmuseum/release/latest/bin/darwin/amd64/chartmuseum

#windows
curl -LO https://s3.amazonaws.com/chartmuseum/release/latest/bin/windows/amd64/chartmuseum

将chartmuseum binary放到$PATH路径下即可

chmod +x ./chartmuseum
mv ./chartmuseum /usr/local/bin

 

start

启动命令

chartmuseum --port=8080 \
--storage="local" \
--storage-local-rootdir="/var/lib/chartmuseum/chartstorage" \
--log-json \
--basic-auth-user=admin \
--basic-auth-pass="admin"
--port: chartmuseum 服务监听端口
--storage: local表示使用本地存储
--storage-local-rootdir: 本地存储点路径,helm push chart的存储路径
--log-json: 日志显示为json格式
--basic-auth-user: 用户名(使用基本的认证方式,用户名+密码)
--asic-auth-pass: 密码 (chartmuseum服务起来后,后续给helm添加repo时需要加上--username xxx --password ***)

Apply

1)安装helm push插件

  • 网络好的方式,简单方便
helm plugin install https://github.com/chartmuseum/helm-push
2)添加chartmuseumhelm repo
$ helm repo list
NAME        URL                                                    

$ helm repo add chartmuseum http://dl.xxx.xxx.com:8080 --username admin --password ******
"chartmuseum" has been added to your repositories

$ helm repo list
NAME        URL                                                    
chartmuseum http://dl.xxx.xxx.com:8080

 

(3) 使用 helm push将开发好的chart push 到远端的 chartmuseum

$ helm push kube-state-metrics-0.2.0.tgz chartmuseum
Pushing kube-state-metrics-0.2.0.tgz to chartmuseum...
Done.

查看chartmuseum仓库中的chart

$ helm search chartmuseum/
NAME                            CHART VERSION   APP VERSION DESCRIPTION                           
chartmuseum/kube-state-metrics  0.2.0           1.0         A Helm chart for Kubernetes           

 

推荐阅读