使用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

image-20231221231531021

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
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐