tnblog
首页
视频
资源
登录

Helm上传Chart到Artifact Hub

5278人阅读 2023/1/6 12:13 总访问:3466970 评论:0 收藏:0 手机
分类: 容器编排

Helm上传Chart到Artifact Hub

前言


Artifact Hub(工件中心)是一个基于 web 的应用程序,支持查找、安装和发布 CNCF 项目的包和配置。例如,这可能包括 Helm chart、Falco 配置、OPA(Open Policy Agent)策略和 OLM 操作器(operator)。

实践

创建示例chart


首先我们创建一个helmexample文件夹,并且在这个目录下打开命令窗口创建一个helm示例,并对他进行打包。

  1. helm create helmexample
  2. helm package helmexample


创建一个打包好的charts文件夹,并将打包后的helmexample-0.1.0.tgz放到该目录下面。

  1. mv helmexample-0.1.0.tgz charts

创建github仓库


首先我们创建一个github仓库:https://github.com/AiDaShi/helmexample.git
然后在我们的目录下面执行并上传项目到我们的github仓库中。

  1. echo "# helmexample" >> README.md
  2. git init
  3. git add .
  4. git commit -m "first commit"
  5. git branch -M main
  6. git remote add origin https://github.com/AiDaShi/helmexample.git
  7. git push -u origin main

创建Index索引文件


索引文件是一个名为 index.yaml 的 Yaml 文件。它包含有关 Chart 包的一些元数据,包括 Chart.yaml 文件的内容。有效的 Chart Repository 必须具有索引文件。索引文件包含有关 Chart Repository 中每个 Chart 的信息。可以通过 helm repo index 命令将本地目录下的 Chart 生成索引文件。

  1. helm repo index .


然后我们简单修改一下里面的信息.

  1. apiVersion: v1
  2. entries:
  3. helmexample:
  4. - apiVersion: v1
  5. appVersion: 1.16.0
  6. created: "2023-01-06T11:08:11.0881776+08:00"
  7. description: A Helm chart for Kubernetes
  8. digest: 67d87c187eec57afb3771dcc5d541a5908fa3c75e0ec32318111dac691cd008b
  9. name: helmexample
  10. type: application
  11. version: 0.1.0
  12. home: https://aidashi.github.io/helmexample
  13. icon: https://img.tnblog.net/userdata/heads/a011e63c901a433e847b6f0d3dbe1a2f.jpeg
  14. kubeVersion: ^1.10.0-0
  15. keywords:
  16. - helmexample
  17. - elastic
  18. - vector
  19. - search
  20. - deploy
  21. maintainers:
  22. - email: 86382516@qq.com
  23. name: bob
  24. url: https://aidashi.github.io/helmexample
  25. sources:
  26. - https://github.com/AiDaShi/helmexample
  27. urls:
  28. - https://github.com/AiDaShi/helmexample/raw/main/charts/helmexample-0.1.0.tgz
  29. generated: "2023-01-06T11:08:11.0851748+08:00"


最后由于CHART REPOSITORY标准,我们需要将index.yamlcpcharts下面。

  1. cp index.yaml charts

创建 CHART REPOSITORY


Chart Repository是需要一个HTTP服务器进行管理,其容纳了一个 index.yaml 和 任意个已归档的 Chart 包。当你准备共享 Chart 时,首选的方法是将其上传到 Chart Repository 中。
托管 Chart Repository 需要有一台可以响应 GET 请求的HTTP服务器,因此当你托管自己的 Chart Repository 你可以有很多选择。例如,你可以使用 Google Cloud Storage(GCS)存储,Amazon S3存储,GitHub Pages,甚至可以自己创建 Web 服务器。

CHART REPOSITORY 组织结构


index.yaml 描述 Chart Repository 中所有 Chart 的索引。通常,index.yaml 文件以及 provenance files 存放在同一台服务器上。
例如,存储库的布局 https://example.com/charts 可能如下所示

创建 WEB 服务


这里通过 GitHub Pages 为 Chart Repository 提供 Web 服务。
GitHub Action 允许你以两种不同的方式提供静态网页:
1.通过配置项目以提供其 docs/ 目录的内容
2.通过配置项目以提供特定分支的内容
我们将采用第二种方法,尽管第一种方法同样简单。
第一步是创建 helmexample-pages 分支。

  1. git checkout -b helmexample-pages
  2. # 同步远程分支
  3. git push -u origin helmexample-pages


接下来,你将要确保将 helmexample-pages 分支设置为 GitHub Pages,点击你的repo Setting 并滚动到 GitHub pages 单元,如下图设置:


选择自定义分支并我们的helmexample-pages分支后点击保存,然后我们自定义域名。
这里我就设置为:aidashi-helmexample.github.io/helmexample


访问我们的连接看看,是没问题的。


然后我们打开Artifact Hub的仓库地址:https://artifacthub.io/control-panel/repositories
并进行添加我们的helmexample(Display name 后面我没有填写)


然后我们搜索我们的helmexample chart


然后我们找到右上角的install安装,可以显示安装命令。

部署


然后我们在集群中执行简单的部署。

  1. helm repo add helmexample https://aidashi.github.io/helmexample/
  2. helm install my-helmexample helmexample/helmexample --version 0.1.0


最后查看部署情况。

  1. kubectl get all


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价

默认昵称

2023/3/9 15:14:39

mac地址会更改但vxlan解析后mac地址除了源mac地址改为cni0的地址外目的mac是c3 pod的mac. 这里的源地址是被改为flannel.1的mac地址吧 ,你这里写的是cni0的地址

Helm搭建NFS的StorageClass(安装Helm)(坑)

Helm搭建NFS的StorageClass[TOC] Windows 安装 chocolatey https://chocolatey.org/install Windows 安装 Helm c...

Helm搭建redis集群环境

Helm搭建redis集群环境[TOC] 先决条件需要有k8s的集群安装Helm这里安装3.6.3的Helm获取最新版本:https://github.com/kube...

GitHub 上传项目

补充简化方法:登录git创建项目-->拉取刚刚创建的项目-->复制需要的代码进去-->上传提交即可先拉取项目在上传代码...

网页上传文件断点续传的实现,无视文件大小上传,以及datatables基本用法

首先明白js是客户带执行代码,c#是服务器上执行代码。本地文件需要用到js处理,服务器端接受c#代码处理1.HTML页面,文件信...

上传文件服务器及 下载 客户端

usingSystem; usingSystem.Collections.Generic; usingSystem.Text; usingSystem.Net; usingSystem.IO; namespaceCo...

ftp 上传下载

ftp 上传下载:这里的配置文件为 bin的名称.dll.config具体如下:usingSystem; usingSystem.Collections.Generic; using...

图片上传的安全校验

记个笔记控制层用的框架SpringMVC上传文件时,后台使用MultipartFile对象接收,前台action的enctype属性必须设置为multipart/...

ASP.NET简单上传图片

图片上传的注意事项1:提交方式必须是post2:修改一下entype类型让他支持文件3:文件选择框必须要有一个名字publicvoidUpLoa...

百度编辑器图片上传

先在百度编辑器配置好上传图片的后台地址serverUrl:'图片上传的后台地址'varue=UE.getEditor("container&quot...

.net core上传图片,文件。webapi 上传图片文件

上传图片的前台代码都完全一样,直接来贴后台的代码吧publicActionResultUploadImage(List<IFormFile>upfile) { ...

net core上传图片七牛云

我们项目的静态资源如果想要获得加速就可以把图片哇,js,css这些静态资源放到cdn上,提高我们站点的访问速度。这里我们使用n...

通过PlUpload控件配合WebApi接口完成压缩上传文件

最近一段时间都在使用PlUpload做文件上传的功能,研究过后感觉使用起来体验还是比较好的,不过网上的资料很多都记录的很简...

ajaxSubmit异步上传图片(嘘,外面都是假的)

引用代码<scriptsrc="/Scripts/jquery.form.js"></script>js就在旁边img链接中,只不过大小为0x0,...

AJAX调用webapi上传图片或文件。设置token,设置Authorization Bearer

AJAX调用webapi上传图片或文件,并返回刚上传的文件名。废话不多说直接贴代码吧html相关:<!DOCTYPEhtml> <html&...

.net上传图片七牛云

传送门:net core上传图片到七牛云地址:http://www.tnblog.net/aojiancc2/article/details/2441c# sdk地址:https://devel...
这一世以无限游戏为使命!
排名
2
文章
634
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 : 好是好,这个对效率影响大不大哇,效率高不高
ASP.NET Core 服务注册生命周期
剑轩 : http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术