来自AI助手的总结
介绍Harbor启用Helm Chart、配置仓库并推送安装Chart及常见问题处理

一、配置harbor支持helm chart存储
如下图登录harbor 仓库 ,选取项目这一栏没有helm chart 这个关键字就说明harbor仓 库支持暂不支持存放chart。

开启Charts功能:
#停掉已安装的harbor
[root@harbor-01 ~]# cd /opt/harbor/
[root@harbor-01 harbor]# docker-compose down -v
#启动时带上参数 --with-chartmuseum
[root@harbor-01 harbor]# ./install.sh --with-chartmuseum
等命令执行完再登录就能看到 上图中的helm chart字样了

二、配置国内Chart仓库
添加国内Chart仓库
[root@master01 ~]# helm repo add stable http://mirror.azure.cn/kubernetes/charts
[root@master01 ~]# helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
验证,观察到已添加成功
[root@master01 ~]# helm repo list
NAME URL
ingress-nginx https://kubernetes.github.io/ingress-nginx
stable http://mirror.azure.cn/kubernetes/charts
aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
三、安装push插件
GitHub – chartmuseum/helm-push:https://github.com/chartmuseum/helm-push/releases
使用如下的方式下载 helm-push 安装包:
方式1-在线安装:
helm plugin install https://github.com/chartmuseum/helm-push
方式2-离线安装:
helm-push_0.10.0_linux_amd64.tar.gz 下载链接:
https://github.com/chartmuseum/helm-push/releases/download/v0.10.0/helm-push_0.10.0_linux_amd64.tar.gz
安装位置: helm env 获取的 HELM_PLUGINS 这个变量的值当前用户主目录的.local 目录下
#创建 helm-push 目录
[root@master01 5]# mkdir -p /root/.local/share/helm/plugins/helm-push
#把你下载好的tar包拷到创建的/root/5/目录下
[root@master01 5]# cp helm-push_0.10.0_linux_amd64.tar.gz /root/.local/share/helm/plugins/helm-push
#到目录下解压文件
[root@master01 5]# cd /root/.local/share/helm/plugins/helm-push
[root@master01 helm-push]# tar -zxvf helm-push_0.10.0_linux_amd64.tar.gz
#执行 helm plugin list 就能看到已经安装好的push插件了,这里一定要记住名字是cm-push而不是push
[root@master01 helm-push]# helm plugin list
NAME VERSION DESCRIPTION
cm-push 0.10.0 Push chart package to ChartMuseum
四、添加repo
添加repo示例说明:
# helm repo add --username admin --password xxxxxx devopsrepo http://harbor.zhang-qing.com/chartrepo/demo
添加repo示例说明:
[root@master01 helm-push]# helm repo add devopsrepo https://harbor.zhang-qing.com/chartrepo/demo \
--username admin \
--password 'Harbor12345'
验证
[root@master01 helm-push]# helm repo list | grep devops
devopsrepo https://harbor.zhang-qing.com/chartrepo/demo
五、推送与安装Chart
# 生成指定包
[root@master01 ~]# cd /root/5/demo-helm/
[root@master01 demo-helm]# helm package .
Successfully packaged chart and saved it to: /root/5/demo-helm/demohelm-0.2.2.tgz
#添加repo
[root@master01 helm-push]# helm repo add devopsrepo http://harbor.zhang-qing.com/chartrepo/demo \
--username admin \
--password 'Harbor12345'
# 上传包到harbor仓库
[root@master01 demo-helm]#
helm cm-push demohelm-0.2.2.tgz https://harbor.zhang-qing.com/chartrepo/demo \
--username=admin \
--password='Harbor12345'
Pushing demohelm-0.2.2.tgz to https://harbor.zhang-qing.com/chartrepo/demo...
Done.
浏览器输入https://harbor.zhang-qing.com/登录harbor,账号密码为admin/Harbor12345

六、问题处理
问题现象:
在推送和安装Chart时出现,如下报错信息
[root@master01 demo-helm]#
helm cm-push demohelm-0.2.2.tgz https://harbor.zhang-qing.com/chartrepo/demo \
--username=admin \
--password='Harbor12345'
Error: 308: could not properly parse response JSON: <html>
<head><title>308 Permanent Redirect</title></head>
<body>
<center><h1>308 Permanent Redirect</h1></center>
<hr><center>nginx/1.22.0</center>
</body>
</html>
...
...
问题处理:
将http://harbor.zhang-qing.com/chartrepo/demo替换为https://harbor.zhang-qing.com/chartrepo/demo
[root@master01 demo-helm]#
helm cm-push demohelm-0.2.2.tgz https://harbor.zhang-qing.com/chartrepo/demo \
--username=admin \
--password='Harbor12345'
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END







暂无评论内容