如何将 Helm Chart 推送至 Harbor ?

helm-ss
Author:rab


前言:我们说 Helm 的私有仓库可以是任何 HTTP Server(如 Nginx、Apache 等),而 Harbor 自带 Helm 私有仓库的功能(但默认是禁用的,需要我们手动启用),如果为了节约服务器成本,可无需额外再部署 HTTP Server,直接使用 Harbor 的 Chart 功能即可。接下来,我们将演示如何把 Helm Chart 推送至 Harbor 私有仓库中,以及如何拉取 Harbor 中的 Chart 资源。

1、下载 helm-push 插件

下载地址:https://github.com/chartmuseum/helm-push/

# 离线安装(本次采用)
wget https://github.com/chartmuseum/helm-push/releases/download/v0.10.4/helm-push_0.10.4_linux_amd64.tar.gz

# 或在线安装
helm plugin install https://github.com/chartmuseum/helm-push

2、安装 helm-push 插件

  • 先查看 Helm 的插件目录

    helm env
    

    image-20231025110634110

  • 解压下载的 helm-push 插件至 ../plugin/ 目录下

    # 我们可以新建一个helm-push插件目录,用于存放helm-push插件
    mkdir -p /root/.local/share/helm/plugins/helm-push
    
    # 解压
    tar xzf helm-push_0.10.4_linux_amd64.tar.gz -C /root/.local/share/helm/plugins/helm-push
    
  • 查看以下解压出来的文件

    image-20231025111320896

  • 查看 helm-push 插件是否安装

    helm plugin list
    

    image-20231025111822752

3、启用 Harbor 支持 Chart

vim harbor.yml

  • 修改前

    image-20231025112140895

  • 修改后

    image-20231025112222648

  • 停止 Harbor 服务

    docker-compose stop
    
  • 注入配置

    ./prepare 
    
  • 安装 ChartMuseum

    ./install.sh  --with-chartmuseum
    
  • 验证 Harbor 是否启用 Helm Chart

    如下图,该 billiards 项目下有 Helm Chart 字段了,证明我们已经成功启用 Harbor 的 Chart 功能了,但目前还没有任何 Chart,接下来我们将 Push 一个 Chart 至 Harbor。

    image-20231025113435078

4、添加 Harbor 作为 Helm Chart 仓库

helm repo add harbor_repo --username=admin --password=zhurs@123 http://192.168.56.143/chartrepo/billiards

# 说明
# chartrepo:必选项
# billiards:是我们在Harbor中自定义的项目名

image-20231025114454296

# 验证
helm repo list

image-20231025114630089

5、推送 Chart

将我们之前测试的 mychart-0.1.0.tgz 推送至我们 Harbor 进行测试一下。

helm cm-push mychart-0.1.0.tgz --username=admin --password=zhurs@123 harbor_repo

# 说明
# harbor_repo:推送时repo名称(即上图中的NAME字段对应的名称harbor_repo),这样Helm才知道我们要推送到那个repo中
# 如果你没有添加Harbor作为Helm Chart仓库,那推送的时候需要指定http地址,如:helm cm-push mychart-0.1.0.tgz --username=admin --password=zhurs@123 http://192.168.56.143/chartrepo/billiards

image-20231025115201880

image-20231025120103123

6、拉取 Chart

helm repo update

# 上传新的Helm Chart后,需要更新Helm存储库的索引文件,才能正常拉取。
helm pull --username=admin --password=zhurs@123 --version 0.1.0 harbor_repo/mychart

# 拉下来的文件如下图所示
# --version:指定拉取的Chart版本
# harbor_repo/mychart:从harbor_repo中拉取mychart,无需指定是Harbor中哪个项目的chart,只需指定chart名称即可

image-20231025120807637

7、安装 Chart

helm install test-helm --username=admin --password=zhurs@123 --version 0.1.0 harbor_repo/mychart

安装过程就不再演示了,直接执行后即可部署你的 K8s 集群服务了!

Harbor 的部署可参考我前面的博文《Harbor 私有镜像仓库部署》

—END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云计算-Security

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值