了解chartmuseum
用过helm的都知道,chartmuseum作为helm重要的仓库,掌握他的私有部署是必不可少的。
官方文档:跳转
部署方式
chartmuseum的部署方式有两种,从官方首页就能看出来:一种是二进制,一种是docker。
![png1](https://i-blog.csdnimg.cn/blog_migrate/90165de55581a6d2cbec24c678c068e7.png)
二进制部署方式
1.下载二进制文件
curl -LO https://s3.amazonaws.com/chartmuseum/release/latest/bin/linux/amd64/chartmuseum
chmod 777 chartmuseum
mv chartmuseum /usr/local/bin
2.创建启动文件
cat /etc/systemd/system/chartmuseum.service
[Unit]
Description=chartmuseum
Requires=network-online.target
After=network-online.target
[Service]
EnvironmentFile=/etc/chartmuseum/chartmuseum.config
User=root
Restart=allways
ExecStart=/usr/local/bin/chartmuseum $ARGS
ExecStop=/usr/local/bin/chartmuseum step-down
[Install]
WantedBy=multi-user.target
3.创建配置文件
这里修改对应的配置:
- 端口
- local,表示本地存储
- dir,就是本地存储的路径
- 以及一些基本的认证信息
注:存储可以有多种方式,比如aws的s3,阿里云的oss等,具体可以查看文档:github
cat /etc/chartmuseum/chartmuseum.config
ARGS=--port=88 --storage="local" --storage-local-rootdir="/www/chartmuseum/" --log-json --basic-auth-user=meitu --basic-auth-pass="********"
4.启动
systemctl start chartmuseum
systemctl status chartmuseum
systemctl enable chartmuseum
5.然后验证是否可以使用该仓库
➜ helm repo add my-chartmuseum-repo http://my-chartmuseum-repo-url --username meitu --password ********
"my-chartmuseum-repo" has been added to your repositories
docker部署方式
1.下载最近的docker镜像
➜ docker pull chartmuseum/chartmuseum:latest
2.创建本地目录,当做存储位置
➜ mkdir ./chartmuseum
3.启动服务
➜ docker run --rm -it -p 8081:8080 -v $(pwd)/chartmuseum:/charts -e DEBUG=true -e STORAGE=local -e STORAGE_LOCAL_ROOTDIR=/charts chartmuseum/chartmuseum:latest
测试使用
1.首先你本地helm要装好helm-push插件
2.加入repo
➜ helm repo add my-chartmuseum-repo http://my-chartmuseum-repo-url --username meitu --password ********
"my-chartmuseum-repo" has been added to your repositories
3.push包到仓库
➜ helm push natmonitor-0.1.1.tgz my-chartmuseum-repo
Pushing natmonitor-0.1.1.tgz to my-chartmuseum-repo...
Done.