基于harbor管理helm charts的方法

前言

Helm是Kubernetes的包管理器。Helm使用一种称为charts的打包格式。自1.6.0版本以来,Harbor是一个复合的云原生注册表,支持容器镜像管理和Helm Chart管理。对Harbor中Helm charts的访问由基于角色的访问控制(RBAC)控制,并受项目限制。

有两个地方可以管理Helm Charts。

  • ChartMuseum,由Harbor自1.6.0版起提供

  • 兼容OCI的注册表,由Harbor从2.0.0版开始提供

    这意味着您可以通过同一组项目和存储库管理Helm Charts以及容器镜像。

harbor 版本更迭

Harbor在v1.6版本开始支持Helm Chart仓库功能,这样就可以利用 harbor 同时管理镜像和 helm charts 了,无需另外部署一套Helm Chart系统。在harbor中,chart仓库由chartmuseum以插件的方式提供,可以自己选择安装或者不安装。

ChartMuseum:提供了API管理非OCI规范的Helm Chart。在安装了ChartMuseum组件后,当用户使用“helm”命令向Harbor推送或拉取Chart时,Harbor的Core组件会首先收到请求,在校验后将请求转发给ChartMuseum进行Chart文件的读写。

随着兼容OCI规范的Helm Chart在社区上被更广泛地接受,Helm Chart能以Artifact的形式在Harbor中存储和管理,不再依赖ChartMuseum,因此Harbor会在后续版本中移除对ChartMuseum的支持。

虽然被废弃,但是并不意味着不能用Harbor存储chart了,而是用 OCI chart替代。

  • 从v2.6.0 开始弃用Chartmuseum,并在v2.8.0中开始删除。

在Harbor Interface中使用ChartMuseum管理Helm Chart

Charts列表

登录Harbor界面,点击Projects,选择项目进入项目详情页面。单击Helm Charts选项卡可查看现有Helm Charts,其中包含以下信息:

  • Helm Chart名称
  • Charts的状态:Active或Deprecated
  • Charts版本数
  • 创建Chart的时间

list charts

您可以单击右上角的图标在卡片视图和列表视图之间切换。

上传新Charts

  1. 单击UPLOAD打开Charts上传对话框。
  2. 选择要从文件系统上载的Charts。
  3. 单击UPLOAD将其上载到Charts存储库服务器。

upload charts

如果Charts是签名的,您可以从文件系统中选择相应的出处文件,然后单击UPLOAD将它们同时上传。

如果Charts上传成功,则会显示在Charts列表中。

列表Charts版本

若要查看Charts的可用版本,请单击Charts列表中的Charts名称。Charts详细信息显示以下信息:

  • Charts版本号
  • Charts版本的维护者
  • 使用的模板引擎(默认为 gotpl )
  • Charts版本的创建时间戳

list charts versions

Charts列表中的每个Chart至少有一个版本。您可以单击右上角的图标在卡片视图和Charts视图之间切换。

单击第一列中的复选框以选择一个或多个Charts版本,然后您可以执行以下操作:

  • 单击“删除”可从Charts存储库服务器中删除选定的Charts版本。支持批量操作。
  • 单击DOWNLOAD下载Charts工件文件。不支持批量操作。
  • 单击UPLOAD为当前Charts上载新版本。

向Charts版本添加标签和从Charts版本删除标签

如果您具有Harbor系统管理员、项目管理员或项目开发人员角色,则可以单击“添加标签”向图表版本添加标签或从图表版本中删除标签。

add labels to chart versions

按标签过滤Charts版本

Charts版本可以按标签过滤:

filter chart versions by labels

查看Charts版本详细信息

单击Charts版本号链接以打开图表版本详细信息视图。您可以在此处查看有关指定图表版本的更多详细信息。有三个内容部分:

  • 总结:

    • Charts自述文件

    • 总体元数据,如主页、创建的时间戳和应用程序版本

    • 相关Helm命令,如 helm add repo 、 helm install 等,供参考。

      chart details

  • 依赖:

    • 显示依赖子Chart的名称、版本和存储库

      chart dependencies

  • Values:

    • 显示 values.yaml 文件的内容,并突出显示代码预览

    • 您可以单击右上角的图标按钮在YAML文件视图和键值对列表视图之间切换。

      chart values

您可以点击右上角的下载按钮下载YAML文件。

通过Helm CLI使用ChartMuseum

作为Helm chart存储库,Harbor可以与Helm CLI进行互操作。要安装Helm CLI,请参阅安装Helm。运行命令 helm version 以确保Helm CLI的版本为v2.9.1或更高版本。

helm version

#Client: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}
#Server: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}

将Harbor添加到存储库列表

在使用Helm CLI之前,使用 helm repo add 命令将Harbor添加到存储库列表中。支持两种不同的模式。

  • 添加Harbor作为统一的单一索引入口点。

    在这种模式下,Helm可以知道位于不同项目中的所有Charts,以及当前经过身份验证的用户可以访问的Charts。

    helm repo add --ca-file ca.crt --username=admin --password=Passw0rd myrepo https://xx.xx.xx.xx/chartrepo
    

    提供CA文件和证书文件。这是必要的,因为Helm中存在问题。

  • 添加Harbor项目作为单独的索引入口点。

    在此模式下,Helm只能拉取指定项目中的图表。

    helm repo add --ca-file ca.crt --username=admin --password=Passw0rd myrepo https://xx.xx.xx.xx/chartrepo/myproject
    

使用CLI将Charts推送到存储库服务器

作为替代方案,您也可以使用CLI上传图表。本机Helm CLI不支持它。必须在推送前安装社区插件。运行下面的 helm plugin install 命令,先安装 helm-push 插件。

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

成功安装后,运行 push 命令上传图表:

helm push --ca-file=ca.crt --username=admin --password=passw0rd chart_repo/hello-helm-0.1.0.tgz myrepo

push 命令尚不支持推送已签名chart的prov文件。

安装Charts

在安装之前,请确保Helm已使用 helm init 命令正确初始化,并且图表索引已与 helm repo update 命令同步。

如果您不确定图表的位置,请使用关键字搜索图表:

helm search hello

#NAME                            CHART VERSION   APP VERSION     DESCRIPTION
#local/hello-helm                0.3.10          1.3             A Helm chart for Kubernetes
#myrepo/chart_repo/hello-helm    0.1.10          1.2             A Helm chart for Kubernetes
#myrepo/library/hello-helm       0.3.10          1.3             A Helm chart for Kubernetes

如果一切就绪,请在Kubernetes集群中安装Charts:

helm install --ca-file=ca.crt --username=admin --password=Passw0rd --version 0.1.10 repo248/chart_repo/hello-helm

有关其他更多Helm命令,如如何签署图表,请参阅Helm文档。

使用兼容OCI的Harbor注册表管理Helm Charts

Helm 3支持与OCI兼容的注册表操作,包括推和拉。要安装最新的Helm CLI,请参阅安装Helm。另外,运行 helm version 以确保Helm CLI的版本为v3.0.0+。

helm version

#version.BuildInfo{Version:"v3.2.1", GitCommit:"fe51cd1e31e6a202cba7dead9552a6d418ded79a", GitTreeState:"clean", GoVersion:"go1.13.10"}

登录到OCI兼容的Harbor注册表

在使用Harbor的OCI兼容注册表拉或推Helm Charts之前,应该使用 helm registry login 命令记录Harbor。

helm registry login --insecure xx.xx.xx.xx 

由于Helm中的问题,未启用https认证的harbor需要加上–insecure 参数

使用CLI将Charts推送到工件存储库

登录后,运行 helm package 命令,保存一个chart目录,为工件的推送做好准备。

helm package dummy-chart --version

chart保存后,运行 helm push 命令推送图表:

helm push --plain-http dummy-chart:version oci://xx.xx.xx.xx/chartrepo

未启用https认证,需要加上–plain-http参数

使用CLI从工件存储库中拉取Charts

要从Harbor的OCI兼容注册表中拉取chart,请运行 helm pull 命令,就像使用Docker CLI拉取图像一样。

helm pull --plain-http oci://xx.xx.xx.xx/chartrepo/dummy-chart --version 0.2

在Harbor界面中管理Helm Charts工件

将图表推送到与OCI兼容的Harbor注册中心,就像对待任何其他类型的工件一样。您可以列出、复制、删除、更新标签,获取详细信息,以及为它们添加或删除标签,就像您可以为容器镜像一样。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/207382.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Servlet概念视频笔记

学习地址:121-尚硅谷-Servlet-什么是Servlet_哔哩哔哩_bilibili 目录 1.Servlet技术 a.什么是Servlet b.手动实现Servlet程序 c.url地址如何定位到Servlet程序去访问 d.Servlet的生命周期 e.GET 和 POST 请求的分发处理 f.通过继承 HttpServlet 实现 Servlet程序 g.使用…

分享82个清新唯美PPT,总有一款适合您

分享82个清新唯美PPT,总有一款适合您 PPT下载链接:https://pan.baidu.com/s/1tnRpOR8Gexg9gjWz4z15Xw?pwd8888 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整理更不易。知识付…

AI一键生成文案-免费AI一键生成文案的软件有哪些

AI一键生成文案的原理涉及自然语言处理(NLP)和机器学习技术。这种技术的核心是基于大量文本数据的模式识别和生成,通常使用深度学习模型,如循环神经网络(RNN)、长短期记忆网络(LSTM)…

今日公众号爆文排行

​写爆文公众号需要综合考虑多个因素,包括内容质量、受众需求、话题热度、推广策略等。在创作过程中,可以着重参考其他作品,学习其优点和技巧,但同时也要注意避免抄袭和侵权行为。以下是一些写爆文公众号的方法和建议:…

2023年第十二届数学建模国际赛小美赛D题望远镜的微光系数求解分析

2023年第十二届数学建模国际赛小美赛 D题 望远镜的微光系数 原题再现: 当我们使用普通光学望远镜在昏暗的光线下观察远处的目标时,入射孔径越大,进入双筒望远镜的光线就越多。望远镜的放大倍数越大,视野越窄,图像显示…

使用NVM管理多个版本的node.js

1、nvm介绍: nvm全英文也叫node.js version management,是一个nodejs的版本管理工具。nvm是node.js版本管理工具,为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js 2、下载nvm地址: https://d…

蓝桥杯day03——二进制间距

1.题目 给定一个正整数 n,找到并返回 n 的二进制表示中两个 相邻 1 之间的 最长距离 。如果不存在两个相邻的 1,返回 0 。 如果只有 0 将两个 1 分隔开(可能不存在 0 ),则认为这两个 1 彼此 相邻 。两个 1 之间的距离…

计算机新建盘符和重新分配盘符的大小

一、新建盘符 有些电脑刚买来时候,只有一个C盘分区,此时最好增加几个分区方便使用。 注意:分区操作要慎重,不要轻易去试。这里只针对购买的电脑厂家未做分区,只有一个C盘的情况。 如果自己电脑的分区本身已经满足你…

Android 断点调试

Android 调试 https://developer.android.google.cn/studio/debug?hlzh-cn 调试自己写的代码(不在Android源码) 点击 Attach debugger to Android process 图标 需要在添加断点界面手动输入函数名 但也可以不手动,有个技巧可以new 空proje…

Vue生命周期:组件的生命之旅

🍃引言 在Vue.js中,每个组件都有其独特的生命周期。这个生命周期指的是组件从创建到销毁的一系列过程。了解并正确使用Vue的生命周期钩子,对于优化组件性能、管理组件状态以及实现特定功能至关重要。本文将详细介绍Vue的生命周期及其各个阶段…

【Linux】I/O多路转接技术

I/O多路转接技术 一、I/O多路转接之select1、select函数2、fd_set的相关内容3、如何在代码中高效的使用select函数4、select服务器5、select的优缺点6、select的适用场景 二、I/O多路转接之poll1、poll函数2、struct pollfd结构2、poll服务器3、poll的优缺点 三、I/O多路转接之…

在文本框中添加单位

<el-col :span"12"><el-form-item label"进度" prop"schedule":rules"[{required: true, message:进度不能为空, trigger:blur},{validator: validator.isFloatGteZero, trigger:blur}]"><el-input v-model"input…

vcruntime140_1.dll错误的解决方案,与vcruntime140_1.dll下载指南

vcruntime140_1.dll是Visual C redistributable 2015-2019的一部分&#xff0c;如同很多动态链接库&#xff08;dll&#xff09;文件&#xff0c;它落在系统级别可共享软件组件的范畴。用户可能会在安装或运行一些游戏或程序时遇到"vcruntime140_1.dll丢失"的问题。今…

【Docker】Swarm的ingress网络

Docker Swarm Ingress网络是Docker集群中的一种网络模式&#xff0c;它允许在Swarm集群中运行的服务通过一个公共的入口点进行访问。Ingress网络将外部流量路由到Swarm集群中的适当服务&#xff0c;并提供负载均衡和服务发现功能。 在Docker Swarm中&#xff0c;Ingress网络使…

基于OpenSSL和nginx搭建本地https服务器(详细实操版)

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言&#xff0c;数据结构&#xff0c;Linux基础&#xff0c;ARM开发板&#xff0c;网络编程等领域UP&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff0…

智慧安防三大信息技术:云计算、大数据及人工智能在视频监控EasyCVR中的应用

说到三大信息技术大家都很清楚&#xff0c;指的是云计算、大数据和人工智能&#xff0c;在人工智能&#xff08;AI&#xff09;快速发展的当下&#xff0c;例如常见的大数据分析、人工智能芯片生产的智能机器人等等&#xff0c;在工作、生活、教育、金融、科技、工业、农业、娱…

预览功能实现

需求&#xff1a;将后端返回来的文字或者图片和视频展示在页面上。 <!-- 预览 --><el-dialog title"预览" :visible.sync"dialogPreviewVisible" width"50%" append-to-body :close-on-click-modal"false" close"Previe…

【分享】centos7vim异常

问题描述: 虚拟机安装centos7&#xff0c;安装vim后异常&#xff0c;上下左右键会变成abcd,退格键无法删除。 系统版本: CentOS Linux release 7.5.1804 (Core) 原因: 暂时未知&#xff0c;有可能是vim安装时&#xff0c;一个组件未安装导致。后续追溯 解决方案: echo &quo…

国际上有哪些比较出名的VOIP供应商

1. Skype&#xff08;微软&#xff09;&#xff1a;企业发展历程&#xff1a;Skype 于2003年成立&#xff0c;最初由瑞典和丹麦的几位开发者创建。2005年被eBay收购&#xff0c;之后于2011年被微软收购。微软将 Skype 合并到其产品生态系统&#xff0c;并继续开发和改进该平…

Whisper

文章目录 使后感Paper Review个人觉得有趣的Log Mel spectrogram & STFT Trainingcross-attention输入cross-attention输出positional encoding数据 Decoding为什么可以有时间戳的信息 Test code 使后感 因为运用里需要考虑到时效和准确性&#xff0c;类似于YOLO&#xff…