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