Helm 私有仓库Chartmuseum搭建指南

devopscube,Devops魔方为个人公众号,主要用于一些有关Devops,容器,kubernetes,自动化运维,以及敏捷开发相关的分享。同时也会不定期的分享一些个人心得,比如推荐一些个人使用的办公小软件,对一些事件的评论等。欢迎大家关注交流。
在这里插入图片描述

简介

Helm chart对仓库的要求并不高,需要你对外提供yaml文件和tar文件的web服务即可。但是实际的操作中我们还需要考虑更多的操作。

Chartmuseum除了给我们提供一个类似于web服务器的功能之外,还提供了其他有用的功能,便于日常我们私有仓库的管理。

  • 根据chart文件自动生成index.yaml(无须使用helm repo index手动生成)
  • helm push的插件,可以在helm命令之上实现将chart文件推送到chartmuseum上
  • 相应的tls配置,Basic认证,JWT认证(Bearer token认证)
  • 提供了Restful的api(可以使用curl命令操作)和可以使用的cli命令行工具
  • 提供了各种后端存储的支持(Amazon s3, Google Cloud Storage, 阿里、百度、腾讯,开源对象存储等)
  • 提供了Prometheus的集成,对外提供自己的监控信息。
  • 没有用户的概念,但是基于目录实现了一定程度上的多租户的需求。
安装

官方提供了相应的helmchart,可以在kuberentes上直接安装。也提供了docker的镜像方式安装。本文介绍docker的方式进行安装部署。

最新的稳定版本是v0.12.0,下面采用local 存储的方式安装。

docker run --name=chartmuseum --restart=always -it -d \
  -p 8080:8080 \
  -v ~/charts:/charts \
  -e STORAGE=local \
  -e STORAGE_LOCAL_ROOTDIR=/charts \
  chartmuseum/chartmuseum:v0.12.0

因为制定了本地的存储~/charts,可以在用户的home目录下看到该文件夹生成,所有上传的chart都会放到该文件夹下。

通过页面访问,我们可以看到服务已经正常运行了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C1jIKYbV-1585811615264)(screenshots/image-20200402133322643.png)]

测试
# 在本地测试,如果helm客户端在其他机器,请修改localhost为指定ip
$ helm repo add chartrepo http://localhost:8080
"chartrepo" has been added to your repositories
$ helm repo list
NAME            URL
chartrepo       http://localhost:8080


# 我们创建并打包一个新的chart
$ helm create test
Creating test
$ helm package test
Successfully packaged chart and saved it to: /home/lijinyang/test-0.1.0.tgz
# 将生成的tgz文件放到chartmuseum的文件夹下
$ mv test-0.1.0.tgz ~/charts/

# 然后helm运行helm repo update更新,并搜索
$ helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "chartrepo" chart repository
Update Complete. ⎈ Happy Helming!⎈
$ helm search repo test
NAME            CHART VERSION   APP VERSION     DESCRIPTION
chartrepo/test  0.1.0           1.16.0          A Helm chart for Kubernetes
$ helm show chart chartrepo/test
apiVersion: v2
appVersion: 1.16.0
description: A Helm chart for Kubernetes
name: test
type: application
version: 0.1.0

helm push 插件
# 安装helm push 插件
# helm plugin install https://github.com/chartmuseum/helm-push.git

# helm push命令将chart发布到chartmuseum上
# helm push test-0.1.0.tgz chartrepo

# 更新helm repo,搜索刚刚上传的chart。
# helm repo upgrade
# helm search repo chartrepo
NAME                               CHART VERSION  APP VERSION   DESCRIPTION
chartmuseum/test                   0.1.0          1.16.0        A Helm chart for Kubernetes
总结

本文简单介绍了有关chartmuseum的安装和使用。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值