前言

在构建私有的 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. 使用DocumentBuilderFactory解析XML浅谈

    背景: 当使用Java解析XML时,可以使用javax.xml.parsers.DocumentBuilderFactory类.这个类提供了一种创建解析XML的文档对象的方式.DocumentBuil ...

  2. MySQL IFNULL函数

    MySQL IFNULL函数简介 MySQL IFNULL函数是MySQL控制流函数之一,它接受两个参数,如果不是NULL,则返回第一个参数. 否则,IFNULL函数返回第二个参数. 两个参数可以是文 ...

  3. 每天5分钟复习OpenStack(十一)Ceph部署

    在之前的章节中,我们介绍了Ceph集群的组件,一个最小的Ceph集群包括Mon.Mgr和Osd三个部分.为了更好地理解Ceph,我建议在进行部署时采取手动方式,这样方便我们深入了解Ceph的底层.今天 ...

  4. JavaWeb项目练习(学生选课管理系统)二【新建数据库】

    思路 1.页面美化css这部分,挖个坑,我打算做好一点所以先空着.× 2.需要做四个数据表(学生.教师.管理员.课程) 关联: 学生有个人课表 教师有教授课程和个人课表 管理员有全部权限(关联所有数据 ...

  5. 瀑布图有什么作用?除了excel如何快速制作?

    瀑布图是一种特殊的数据可视化图表,具有以下作用: 1. 对比变化:瀑布图可以清晰地展示数据在不同因素作用下的变化情况.通过将数据分解成各个组成部分,并以阶梯状呈现,可以直观地对比每个因素对总体结果的影 ...

  6. [GDOIpj221D] 小学生计数题

    第四题 小学生计数题 提交文件: counting.cpp 输入文件: counting.in 输出文件: counting.out 时间空间限制: 1 秒, 256 MB 作为 GDOI 的组题人, ...

  7. Hive SQL之表与建表

    数据类型:  建表 create database itheima; --1.创建一张表 -- 表名 --字段 名称 类型 顺序 --字段之间的分隔符 create table itheima.t_a ...

  8. 解决win10的wifi打不开或无法搜索到周围wifi的问题

    今天笔者遇到了一个比较奇葩的问题,就是笔记本电脑的wifi打不开了,即使打开了也是搜索不到周围的wifi的.这个问题一开始笔者没有发现,因为在暑假期间都是使用笔记本连接自己的手机热点进行上网的.然而暑 ...

  9. 【C++】关于引用类型学习记录

    学习模板(泛型)的时候针对定义为引用类型有些费解 1 class BigType { 2 // 假设这里有大量的数据和复杂的操作 3 }; 4 5 template <typename T> ...

  10. Spring Boot结合Element UI前后端分离的aixos的简单操作

    1:axios是什么? 基于promise用于浏览器和node.js的http客户端 axios官网:http://www.axios-js.com/  2:准备工作: 安装axios:npm ins ...