首页 > 其他分享 >helm chart 仓库chartmuseum

helm chart 仓库chartmuseum

时间:2024-07-29 16:51:32浏览次数:10  
标签:harbor shy chart test helm root chartmuseum

安装 harbor 的 helmchart repository
默认新版 harbor 不会启用 chart repository service,如果需要管理 helm,我们需要在安装时添加额外的参数,例如:

默认安装是下面这样的

$ cd /usr/local/harbor
$ ./install.sh

启用 chart repository service 服务的安装方式要添加一个参数 --with-chartmuseum

$ cd /usr/local/harbor
$ ./install.sh --with-chartmuseum

如果是后期修改配置文件,可以使用 ./prepare --with-chartmuseum 后,再 docker-compose up -d 启动容器

等待安装,你户看到如下类似提示

Creating chartmuseum ... done

然后,就可以登录 harbor 来管理 helm charts 了。

发布 helm charts
方式一、基于 UI 的可视化上传
这种方式没什么可说的,使用浏览器登录 harbor 后,在对应的管理界面操作即可,如下图:


方式二、基于命令的 CLI 推送
更多时候基于第1种UI界面的上传并不能满足我们的实际需求,大部分情况我们都是要通过脚本发布helmchart 的。

1、安装插件
为了能使用命令推送,我们需要安装并使用 helm push 插件包,地址:https://github.com/chartmuseum/helm-push/releases

a) 在线安装插件:

helm plugin install https://github.com/chartmuseum/helm-pus

b) 离线安装插件:

下载安装包 helm-push_0.10.1_linux_amd64.tar.gz,再使用命令 helm env 获取 HELM_PLUGINS 路径,然后放置和解压安装包,最后使用 helm plugin list 查看结果,如下:

[root@shy-test chart]# helm env | grep HELM_PLUGINS
HELM_PLUGINS="/root/.local/share/helm/plugins"
[root@shy-test chart]# mkdir -p /root/.local/share/helm/plugins/helm-push
[root@shy-test chart]# mv helm-push_0.10.1_linux_amd64.tar.gz /root/.local/share/helm/plugins/helm-push/
[root@shy-test chart]# cd /root/.local/share/helm/plugins/helm-push/
[root@shy-test helm-push]# tar -xzvf helm-push_0.10.1_linux_amd64.tar.gz
[root@shy-test helm-push]# helm plugin list
NAME VERSION DESCRIPTION
cm-push 0.10.1 Push chart package to ChartMuseum

2、添加 harbor 仓库到本地 helm 仓库列表
先到 harbor 中创建一个项目,或者直接使用你已经存在的项目也行,下面的脚本示例是以创建的项目 helmchart_repo 为例的。

# 查看本地仓库列表(列出的是我已经添加其他仓库)
[root@shy-test chart]# helm repo list
NAME URL
rancher-stable https://nexus.shanhy.com/repository/helm_rancher_stable/

# 添加仓库地址到本地列表(其中 myharbor 为这个仓库地址在 helm 本地的名称,连接是仓库URL,后面是登录 harbor 的用户名和密码)
# URL格式:http(s)://{harbor域名或iP:端口(如果默认443或80可不加)}/chartrepo/{yourHarborProjectName}
[root@shy-test chart]# helm repo add myharbor https://harbor.shanhy.com/chartrepo/helmchart_repo --username admin --password harbor12345
"myharbor" has been added to your repositories

# 再查看(发现已添加成功)
[root@shy-test chart]# helm repo list
NAME URL
rancher-stable https://nexus.shanhy.com/repository/helm_rancher_stable/
myharbor https://harbor.shanhy.com/chartrepo/helmchart_repo

# 更新本地仓库缓存内容
[root@shy-test chart]# helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "myharbor" chart repository
...Successfully got an update from the "rancher-stable" chart repository
Update Complete. ⎈Happy Helming!⎈


特别说明:
1.harbor 仓库 URL 中的 chartrepo 是固定值。
2.在操作之前,请务必先在 harbor 中创建好项目,例如 helmchart_repo 即为我先创建好的项目名称。
3.如果你还是搞不清这个URL,可以在harbor界面中上传一个外面下着的 chart 包,上次成功后进入这个 chart 详细页面,在 “概要这个Tab” 的最底部区域,harbor会告诉你在本地添加仓库的URL和命令。

如果你的 https 报错,可以添加 ca 证书尝试,至少我这里没有出现错误,https 直接成功。

携带 harbor 证书的示例如下:

helm repo add --ca-file /data/harbor/certs/ca.crt --cert-file /data/harbor/certs/harbor.shanhy.com.crt --key-file /data/harbor/certs/harbor.shanhy.com.key --username admin --password harbor12345 myharbor https://harbor.shanhy.com/chartrepo/helmchart_repo

3、推送 chart 以及 chart 的更多操作
a) 打包 chart

打包的步骤非三言两语能述,此处略。

b) 推送 chart 示例

# 推送chart文件夹方式
helm push mychartdemo myharbor

# 推送chart压缩包方式
helm push mychartdemo-1.0.1.tgz myharbor

其中 myharbor 为上面已经添加到 helm 本地仓库的名称。

c) 搜索 chart 示例

[root@shy-test chart]# helm search repo rancher
NAME CHART VERSION APP VERSION DESCRIPTION
rancher-stable/rancher 2.6.2 v2.6.2 Install Rancher Server to manage Kubernetes clu...

d) 拉取 chart 示例

# myharbor 和 mychartdemo 分别对应本地 repo 名称和远程 chart 名称
[root@shy-test chart]# helm pull myharbor/mychartdemo

命令执行后,会在当前目录出现一个 tgz 文件。

e) 安装 chart 示例

# 从 helm repo 直接安装(无需先pull),其中 install 后跟的 mychartdemo 是命名,不指定的话会自动产生随机名称,推荐手工设定别让随机生成
[root@shy-test chart]# helm install mychartdemo myharbor/mychartdemo

# 或者从本地压缩文件安装
[root@shy-test chart]# helm install mychartdemo-1.0.1.tgz

# 也可以从本地目录安装
[root@shy-test chart]# helm install mychartdemo

f) 查看已安装 charts

# 注意此处不是 helm repo list
[root@shy-test chart]# helm list
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
mychartdemo default 1 2021-12-10 19:00:26.48673122 +0800 CST deployed mychartdemo-1.0.1

g) 删除helm charts应用

# mychartdemo 是 helm list 第一列的 NAME,如果 namespace 不是 default,也需要加上
[root@shy-test chart]# helm uninstall mychartdemo
[root@shy-test chart]# helm -n default uninstall mychartdemo

(END)
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/catoop/article/details/121848279

标签:harbor,shy,chart,test,helm,root,chartmuseum
From: https://www.cnblogs.com/gaoyuechen/p/18330440

相关文章

  • 计算机毕业设计项目推荐,基于Echarts的高校就业数据可视化管理系统 81461(开题答辩+程序
    摘 要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对高校就业管理等问题,对高校就业管理进行研究分析,然后开发设计出高校就业数据可视化管理系统......
  • 在 Chartink.com 上抓取网页
    请帮我抓取这个链接。链接-https://chartink.com/screener/time-pass-48我正在尝试网络抓取,但它没有显示我想要的表格。请帮助我。我已经尝试过这段代码,但它没有给我想要的结果。importrequestsfrombs4importBeautifulSoupURL='https://chartink.com/s......
  • C#:winform使用chart控件绘制折线图,时间轴可缩放
    Chart坐标轴横轴为时间,纵轴是数值如果只是一次性绘图,那么遍历一遍数据即可如果想连续绘制(比如按照时间更新绘制),就需要一个Timer控件来更新绘图的数据。以下为项目代码:GUI界面添加一个Chart和一个timer即可 usingSystem;usingSystem.Collections.Generic;usingSystem.Comp......
  • 如何在 AngularJS 中使用 Chart.js?
    Chart.js是一个灵活且功能强大的JavaScript库,可轻松创建各种类型的图表。在本指南中,我们将逐步介绍如何将Chart.js与AngularJS集成,并使用示例财务数据创建不同类型的图表。一.先决条件在我们开始之前,请确保您已准备好以下内容。已安装Node.js您的项目中包含Angu......
  • 如何利用Python中的pyecharts制作—不同的柱状图
    目录专栏导读库的介绍库的安装1、柱状图(防止x轴标签名过长)2、柱状图—堆叠样式3、复合型柱状图4、柱状图—字典型总结专栏导读......
  • 记一次Echart 内存泄露问题排查
    最近发现一个web项目总是莫名其妙的内存增长,然后进行定位后来发现问题大概率出在Eharts上。于是乎就开始搜索关于echarts内存增长的一些例子,但是都没有结果。其中翻博客时发现甚至有人换成一维数组就问题就解决了,当然这个试过之后对我来说解决不了问题。(这样能解决掉也真是离......
  • Echarts框架
    Echarts官方中文版一、创建HTML骨架,导入echarts.js文件二、准备盒子 三、基于准备好的DOM,在内链式script中初始化echarts实例四、配置数据,下图为例子,可根据需要进行更改五、最后显示数据 更多其他样式模板,可进行按需选择 ......
  • 前端之ECharts快速搭建图表教学
    一.非工程化开发下1.通过jsdelivr引入ECharts的js文件<scriptsrc="https://cdn.jsdelivr.net/npm/[email protected]/dist/echarts.min.js"></script>2.从官网找到中意的图表样式(这里以饼状图为例) 官网直达  ECharts官网<!DOCTYPEhtml><html><head><metacha......
  • echarts的markline自定义起始位置和终点位置
    letmarkPoint=[10,20];markLine:{symbol:["none","none"],//去掉箭头silent:true,label:{show:true,formatter:"{b}",offset:[-......
  • uniapp中使用echarts关系图
    首先看一下页面效果:<template><viewclass="page"><!--导航栏--><b-nav-barclass="b-nav-bar"><templateslot="left"><view@click="goBack"class="iconfonticon-zuofanhuinBackml15&quo......