本文作者:丁辉
Helm私有仓库部署
开始部署
部署
1
kubectl create -f https://gitee.com/offends/Kubernetes/raw/main/File/Yaml/chartmuseum.yaml
配置内部域名
1
echo $(kubectl get svc -n helm | grep chartmuseum | awk '{print $3}') chartmuseum.local.com >> /etc/hosts
检查
1
curl http://chartmuseum.local.com:8080/api/charts
使用
添加仓库
1
helm repo add localrepo http://chartmuseum.local.com:8080
创建 Helm 文件
1
helm create demo
打包
打包:不指定版本 , 默认生成 0.1.0 版本
1
helm package demo/
打包: 指定版本 0.1.1
1
helm package demo/ --version 0.1.1
查看详情
1
helm show chart demo
Helm push 插件操作命令
添加公共仓库
1
helm repo add stable http://mirror.azure.cn/kubernetes/charts
也可以换成微软的源,速度快,内容和官方同步的
1
helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
Helm安装 push 插件
1
helm plugin install https://github.com/chartmuseum/helm-push
Cm-push chats包到Chartmuseum
添加 cm-push 插件
1
helm plugin install https://github.com/chartmuseum/helm-push
使用 cm-push 上传 chat 包
1
helm cm-push demo-0.1.0.tgz localrepo
使用 cm-push 上传 chat 目录
1
helm cm-push ./demo localrepo
查看结果
1
curl http://chartmuseum.local.com:8080/api/charts |jq
更新
1
helm repo update
检查
1
helm search repo demo
复用harbor仓库
harbor 自带 helm 私有仓库的功能,不需要再部署一个helm 私有仓库,在这里给大家介绍一下 helm 如何上传chart包到 harbor
添加私有仓库harbor
添加 repo
1
helm repo add harbor https://harbor.com/chartrepo/library --username xxx --password xxx
使用 cm-push 命令 上传 chat 包
1
helm cm-push demo-0.1.0.tgz harbor
上传 cm-push chat 目录
1
helm cm-push ./demo harbor
push chats 包到 harbor 使用 oci 协议
登录到注册中心
1
helm registry login -u helmchart harbor.com -p xxxxxx
使用 push 命令上传 chat 包
1
helm push demo-0.1.0.tgz oci://harbor.com/helmchart
使用 pull 下载包
1
helm pull oci://harbor.com/helmchart/mychart --version 0.1.0
查看 chat 信息
1
helm show all oci://harbor.com/helmchart/mychart --version 0.1.0
Chartmuseum和curl的使用
添加Chartmuseum到Helm repo
登录
1
helm repo add chartmuseum http://chartmuseum.local.com:8080 --username admin --password admin
上传
1
curl -u admin:admin --data-binary "@demo-0.1.0.tgz" http://chartmuseum.local.com:8080/api/charts
下载
1
curl -O -u admin:admin http://chartmuseum.local.com:8080/charts/demo-0.1.0.tgz
chartmuseum其他API
GET /index.yaml
得到 chartmuseum 的全部 charts1
curl http://chartmuseum.local.com:8080/index.yaml -u admin:admin
GET /charts/demo-0.1.0.tgz
下载 charts 中的 demo1
curl -O http://chartmuseum.local.com:8080/charts/demo-0.1.0.tgz -u admin:admin
POST /api/charts
上传一个新的chart版本1
curl -X POST --data-binary '@demo-0.2.0.tgz' http://chartmuseum.local.com:8080/api/charts -u admin:admin
DELETE /api/charts/<name>/<version>
删除一个 chart 版本1
curl -s -X DELETE http://chartmuseum.local.com:8080/api/charts/demo/0.2.0 -u admin:admin | jq
GET /api/charts
列出所有的charts1
curl -s http://chartmuseum.local.com:8080/api/charts -u admin:admin | jq
GET /api/chatts/<name>
列出chart的所有版本1
curl -s http://chartmuseum.local.com:8080/api/charts/demo -u admin:admin | jq
GET /api/charts/<name>/<version>
对一个chart版本的描述1
curl -s http://chartmuseum.local.com:8080/api/charts/demo/0.2.0 -u admin:admin | jq
GET /health
return 200 OK1
curl http://chartmuseum.local.com:8080/health
I'm so cute. Please give me money.
- 本文链接: https://blog.offends.cn/Kubernetes/资源部署/Helm私有仓库部署.html
- 版权声明: 本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。