使用Helm安装harbor并将Chart推送到私有仓库harbor
注意:如果你的harbor是之前docker-compose安装的,还需要额外做一个动作,让它支持chart
docker-compose stop
./install.sh --with-chartmuseum
1)下载harbor的chart包
Harbor的chartmuseum可以让Helm直接将chart包推送到harbor里,但是
注意,harbor从2.8.0开始已经不支持chartmuseum了,而是改为了OCI ,鉴于新版本不太成熟和使用人太少,所以当前,我们安装2.6.2版本
helm search repo harbor -l #查看历史版本
helm pull bitnami/harbor --version 16.1.0 --untar ##16.1.0是chart的版本,而harbor版本为2.6.2
2)修改默认values.yaml
cd harbor
vi values.yaml #更改
storageClass: "nfs-client" ##这个是提前搭建好的nfs的storageclass
将所有"core.harbor.domain"替换为你自己的域名
3)安装
helm install myharbor --version 16.1.0 .
4)查看端口
kubectl get svc |grep harbor |grep LoadBalancer
5)查看密码
kubectl get secret --namespace default myharbor-core-envvars -o jsonpath="{.data.HARBOR_ADMIN_PASSWORD}" | base64 -d
6)浏览器登录
https://192.168.222.101:31666
将Chart推送到私有仓库harbor
1)安装helm-push插件
helm plugin install https://github.com/chartmuseum/helm-push
检查plugins列表
helm plugin list
NAME VERSION DESCRIPTION
cm-push 0.10.1 Push chart package to ChartMuseum
2)添加harbor地址
到harbor浏览器后台
添加新的项目 chart_repo
helm添加新仓库
helm repo add myharbor https://harbor.yuankeedu.com/chartrepo/chart_repo --username=admin --password=[tanglinux.com](http://tanglinux.com/)
如果出现x509的错误提示,执行
echo -n | openssl s_client -showcerts -connect harbor.yuankeedu.com:443 2>/dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >> /etc/ssl/certs/ca-bundle.trust.crt
3)推送自定义chart
假如自定义chart目录:/root/helm_charts/tanglinux
cd /root/helm_charts
helm cm-push tanglinux/ myharbor
4)查看
helm repo update
helm repo tanglinux
5)更新自定义chart
cd tanglinux
vi Chart.yaml ##更改版本号
vi values.yaml ##更改image版本号
升级本地release
helm upgrade tanglinux-release .
6)推送到私有仓库
cd ..
helm cm-push tanglinux/ myharbor
7)利用远程仓库安装新release
#更新本地仓库
helm repo update#删除之前的release
cd tanglinux
helm uninstall tanglinux-release#安装远程仓库
helm install tanglinux-2 myharbor/tanglinux