前言

在构建私有的 charts 仓库之前,有几个先决条件:

  • Helm 已经安装,版本号是 v3
  • 拥有一个 Github 账号

初始化仓库

在 github 仓库上新建一个仓库,我这里命名为 helm-charts,然后在安装有 helm 的系统中把克隆仓库下来。这些不用多说,都会 helm 了,git 肯定是小菜一碟。然后进入 helm-charts 目录,准备下一步的操作。

建立第一个 chart

进入我们克隆下来的仓库,当前仓库应该是空的。

cd helm-charts。

然后创建一个 chart,执行命令:

// confMap 是 chart 的名字
helm create confMap

创建完成后,删除初始化的 templates:

rm -rf confMap/templates/*

然后创建一个 k8s 的配置文件,我这里以 ConfigMap 用作示例:

// 创建confMap.yaml文件
touch confMap/templates/confMap.yaml
// confMap.yaml:
apiVersion: v1
kind: ConfigMap
metadata:
name: configmap-test
data:
msg: "Hello World"

ok,这样一个简单的 confMap 就已经制作完成了,接下来打包一下:

helm package confMap

成功执行命令后会在当前目录下,也就是我们的仓库下看到打包后的文件 configMap-0.1.0.tgz。

然后是最终要的一步,我们需要给 charts 建立一个索引,执行命令:

// 最后一个点是指当前目录
helm repo index .

之后会在当前目录生成一个 index.yaml:

apiVersion: v1
entries:
confMap:
- apiVersion: v2
appVersion: 1.16.0
created: "2023-09-19T15:42:01.365984446+08:00"
description: A Helm chart for Kubernetes
digest: 136fec3a25b800d0d850ca7536a00c1f1ba3e5a95a4e27854c7ad135a4b77d81
name: confMap
type: application
urls:
- confMap-0.1.0.tgz
version: 0.1.0
generated: "2023-09-19T15:42:01.365348311+08:00"

然后向 github 仓库推送所有文件,这步不在赘述,可以点击这里查看已经创建好的 charts。

启用 Github Pages

在 github 仓库中启用 pages,它可以把我们的仓库当作 Web 服务器对外提供服务。仓库 -> setting -> pages。在 pages 选择合适的分支即可:

安装 chart

之后我们就可以使用自己的仓库了,添加镜像:

helm repo add oldme https://oldme-git.github.io/helm-charts

执行安装:

helm install myconf oldme/confMap

查看结果

helm status myconf
// 结果
NAME: myconf
LAST DEPLOYED: Tue Sep 19 16:49:33 2023
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None

至此,我们就拥有了了一个私有的 helm 仓库。

Github 自建一个 Helm Charts 库的更多相关文章

  1. Helm 从入门到实践 | 从 0 开始制作一个 Helm Charts

    本周 Helm 官方发布博客,指导用户从 v2 迁移到 v3,这标志 Helm 逐渐走向成熟.早在今年 6 月,阿里云就正式发布了国内首个 Helm Hub 中国镜像站:开放云原生应用中心 - Clo ...

  2. 安利一个github上面的一个神级库thefuck,Linux命令敲错了,没关系,自动纠正你的命令

    没错就是这么神奇,名字相当噶性,thefuck.当你命令输入错误不要怕,直接来一句fuck,自动纠正你输入的命令. 在你输入错误的命令的时候,忍俊不禁的想来一句fuck,没错你不仅可以嘴上说,命令里面 ...

  3. 正式开放 | 阿里云 10 亿级镜像服务正式支持 Helm Charts,云原生交付再加速!

    作者 | 阿里巴巴高级开发工程师 谢于宁(予栖) 2018 年 6 月,Helm 正式加入了 CNCF 孵化项目: 2018 年 8 月,据 CNCF 的调研表明,有百分之六十八的开发者选择了 Hel ...

  4. 基于gulp编写的一个简单实用的前端开发环境好了,安装完Gulp后,接下来是你大展身手的时候了,在你自己的电脑上面随便哪个地方建一个目录,打开命令行,然后进入创建好的目录里面,开始撸代码,关于生成的json文件请点击这里https://docs.npmjs.com/files/package.json,打开的速度看你的网速了注意:以下是为了演示 ,我建的一个目录结构,你自己可以根据项目需求自己建目

    自从Node.js出现以来,基于其的前端开发的工具框架也越来越多了,从Grunt到Gulp再到现在很火的WebPack,所有的这些新的东西的出现都极大的解放了我们在前端领域的开发,作为一个在前端领域里 ...

  5. JGUI源码:从头开始,建一个自己的UI框架(1)

    开篇 1.JGUI是为了逼迫自己研究底层点的前端技术而做的框架,之前对web底层实现一直没有深入研究,有了技术瓶颈,痛定思痛从头研究, 2.虽然现在vue技术比较火,但还在发展阶段,暂时先使用JQue ...

  6. 一文详解Hexo+Github小白建站

    作者:玩世不恭的Coder时间:2020-03-08说明:本文为原创文章,未经允许不可转载,转载前请联系作者 一文详解Hexo+Github小白建站 前言 GitHub是一个面向开源及私有软件项目的托 ...

  7. 如何手写一个js工具库?同时发布到npm上

    自从工作以来,写项目的时候经常需要手写一些方法和引入一些js库 JS基础又十分重要,于是就萌生出自己创建一个JS工具库并发布到npm上的想法 于是就创建了一个名为learnjts的项目,在空余时间也写 ...

  8. github如何删除一个(repository)仓库

    GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub.作为开源代码库以及版本控制系统,Github拥有140多万开发者用户.随着越 ...

  9. GitHub Top 100的Android开源库

    摘要: 本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍, 至于排名完全是根据GitHub搜索Java语言选择「Best M... 本项目主要对目前 GitH ...

  10. oracle 编译中一个关于clntsh 库的一个 帖子 ,收藏!

    oracle 编译中一个关于clntsh 库的一个 帖子 ,收藏! ------------------------------------------------------------------ ...

随机推荐

  1. JavaScript高级程序设计笔记07 迭代器与生成器

    迭代器与生成器 1.迭代 反复多次执行一段程序,(有明确的终止条件) 迭代器.生成器 ES6 计数循环(for):最简单的迭代 迭代次数.迭代每次执行的操作 (顺序已知) 古早迭代(有序->数组 ...

  2. LabVIEW基于机器视觉的实验室设备管理系统(4)

    目录 行动计划 后面板连线 初始化 ​返回 ​ 注册 账号限制 查重账号或者姓名 确认密码 注册 效果演示 我们上一期制作完了给账户修改密码,那么我们这一期就来完成账户注册这一功能.老规矩哦,先来计划 ...

  3. 微信小程序-敏感内容检测 文本过滤 图片检测 https

    一.获取access_token wx.request({ url: 'https://api.weixin.qq.com/cgi-bin/token', method : 'GET', data : ...

  4. 如何通过C++ 给PDF文档添加文字水印

    因PDF文档具有较好的稳定性和兼容性,现在越来越多的合同.研究论文.报告等都采用PDF格式.为了进一步保护这些重要文档内容免受未经授权的复制或使用,我们可以添加水印以表明其状态.所有权或用途.针对工作 ...

  5. 前端技术探秘-Nodejs的CommonJS规范实现原理

    了解Node.js Node.js是一个基于ChromeV8引擎的JavaScript运行环境,使用了一个事件驱动.非阻塞式I/O模型,让JavaScript 运行在服务端的开发平台,它让JavaSc ...

  6. 【Javaweb】implements Serializable是什么意思?反序列化是什么意思?

    为了保证数据传输的可靠 性,常常要implements Serializable,为什么? 对象本质上是虚无缥缈的,只是内存中的一个地址,如果想要让对象持久化,让对象在网络上传输,总不可能传送一个内存 ...

  7. WPF 纯XAML实现NumericUpDown 控件

    本文由 飞羽流星(Flithor/毛茸茸松鼠先生/Squirrel.Downy)原创,欢迎分享转载,但禁止以原创二次发布原文地址:https://www.cnblogs.com/Flithor/arc ...

  8. 【UniApp】-uni-app-OptionAPI应用生命周期和页面生命周期

    前言 好,经过上个章节的介绍完毕之后,了解了一下 uni-app-修改组件主题和样式 那么了解完了uni-app-修改组件主题和样式之后,这篇文章来给大家介绍一下 uni-app-OptionAPI应 ...

  9. Http的演进

    Http的演进 Http在1.1版本之前具有无状态的特点,每次请求都需要通过TCP三次握手四次挥手与服务器重新建立连接.比如某个客户端在短时间多次请求同一个资源,服务器并不能区别是否已经响应过用户请求 ...

  10. VCS用法

    1.时钟频率点击,鼠标左键点击波形上升沿,中间滚轮点击,然后选择hz,就显示当前信号时钟频率. 2.窗口乱掉,找不到文件列表,右下角点击弹出选择instance. 3.bus地址查找,选择信号,然后蓝 ...