helm-私有仓库
helm-私有仓库
https://help.aliyun.com/document_detail/131467.html 如何使用阿里私有仓库
https://repomanage.rdc.aliyun.com/my/helm-repos/namespaces helm私有仓库地址
https://blog.51cto.com/14154700/2455216?source=dra 私有仓库搭建
一 搭建私有仓库
1 搭建私有仓库
我这里用的nginx,做的私有仓库,在网站根目录创建一个charts目录,专门存放helm打包的压缩包
2 打包package
helm create mychart #创建
helm package mychart #打包,会生成一个tgz包
3 执行helm repo index生成库的index文件
mkdir myrepo
mv testchart-0.1.0.tgz myrepo/
helm repo index myrepo/ --url http://192.168.1.210/charts #生成index.yaml
ls myrepo #查看是否生成
4 将生成的index.yaml文件及charts包复制到nginx的charts目录下面
cp * /usr/share/nginx/html/charts/
5 通过helm repo add 将新仓库添加到helm
helm repo add newrepo http://192.168.1.210/charts #添加
helm search repo mychart #查看
如下图所示:
6 从新的私有库中安装mychart进行测试
helm install repo newrepo/mychart
repo为pod的名字
7 更新镜像
其实就是一个服务版本升级的操作,大概思路如下:修改解压后的charts包目录下的values.yaml文件为所需的值(values.yaml文件包含的是这个服务的值,可以在里面指定镜像及标签、数据持久化的类型等等),修改完成后,再使用下面的命令进行升级操作
helm upgrade -f mychart/values.yaml repo newrepo/mychart
更新的时候要知道名字repo
二 上传到阿里的私有仓库
如果开通自己的私有仓库:
https://help.aliyun.com/document_detail/131467.html
1 添加Helm仓库
export NAMESPACE=127854-hnf;helm repo add $NAMESPACE https://repomanage.rdc.aliyun.com/helm_repositories/$NAMESPACE --username=YhgrHd --password=gvM3C8cuEc
2 发布Chart
安装Helm Push插件
$ helm plugin install https://github.com/chartmuseum/helm-push
#注意,如果一直下着不下来,可以去浏览器下载,然后解压安装
helm plugin install helm-push-master
发布chart
$ cat mychart/Chart.yaml
name: mychart
version: 0.3.2
helm push mychart/ $NAMESPACE
发布Chart压缩包
helm package mychart
helm push mychart-0.3.2.tgz $NAMESPACE
3更新本地索引
helm repo update
4 搜索
helm search repo $NAMESPACE/mychart
5 安装
helm install my-nginx $NAMESPACE/mychart