【笔记】Helm-3 主题-6 Chart仓库指南

Chart仓库指南

本节介绍如何创建和使用chart仓库。在高层级中,chart仓库是打包的chart存储和分享的位置。

社区的Helm chart仓位于 Artifact Hub ,欢迎加入。不过Helm也可以创建并运行您自己的chart仓库。该指南将介绍如何操作。

Artifact Hub

先决条件

先阅读 快速开始

阅读 Charts 文档

Helm | 快速入门指南

Helm | Chart

创建一个chart仓库

chart仓库是一个配置了index.yaml文件和一些已经打包chart的HTTP服务器。当您准备好分享chart时,最好的方法是将chart上传到chart仓库。

注意:从Helm 2.2.0开始,客户端支持对仓库进行SSL身份认证。其他身份验证协议可以通过插件提供。

由于chart仓库可以是任何服务于YAML和tar文件并响应GET请求的HTTP服务器,托管您自己的chart仓库时就有很多选择。比如可以使用Google Cloud Storage(GCS),Amazon S3,GitHub页面,甚至创建自己的web服务器。

chart仓库结构

chart仓库由chart包和包含了仓库中所有chart索引的特殊文件index.yaml。通常描述chart的index.yaml也托管在同一个服务器上作为 来源文件 。

Helm | Helm来源和完整性

比如:https://exmaple.com/charts仓库布局可能看起来像这样:

charts/||- index.yaml||- alpine-0.1.2.tgz||- alpine-0.1.2.tgz.prov

在这个案例中,index文件包含了Alpine这一个chart的信息,并提供了下载地址:https://example.com/charts/alpine-0.1.2.tgz。

index.yaml文件不是必须和chart包放在同一个服务器上,但是这样是最方便的。

index文件

index.yaml文件是一个yaml格式的文件。包含了一些包的元信息,包括chart中chart.yaml文件的内容。一个合法的chart仓库必须有一个index文件,包含了chart仓库中每一个chart的信息。heml repo index命令会基于给定的包含chart包的本地目录生成一个index文件。

index文件类似于这样:

apiVersion: v1
entries:alpine:- created: 2016-10-06T16:23:20.499814565-06:00description: Deploy a basic Alpine Linux poddigest: 99c76e403d752c84ead610644d4b1c2f2b453a74b921f422b9dcb8a7c8b559cdhome: https://helm.sh/helmname: alpinesources:- https://github.com/helm/helmurls:- https://technosophos.github.io/tscharts/alpine-0.2.0.tgzversion: 0.2.0- created: 2016-10-06T16:23:20.499543808-06:00description: Deploy a basic Alpine Linux poddigest: 515c58e5f79d8b2913a10cb400ebb6fa9c77fe813287afbacf1a0b897cd78727home: https://helm.sh/helmname: alpinesources:- https://github.com/helm/helmurls:- https://technosophos.github.io/tscharts/alpine-0.1.0.tgzversion: 0.1.0nginx:- created: 2016-10-06T16:23:20.499543808-06:00description: Create a basic nginx HTTP serverdigest: aaff4545f79d8b2913a10cb400ebb6fa9c77fe813287afbacf1a0b897cdffffffhome: https://helm.sh/helmname: nginxsources:- https://github.com/helm/chartsurls:- https://technosophos.github.io/tscharts/nginx-1.1.0.tgzversion: 1.1.0
generated: 2016-10-06T16:23:20.499029981-06:00

托管chart仓库

这部分展示了几种提供chart仓库的方法

1、Google cloud存储

第一步是create your GCS bucket。我们会调用fantastic-charts。

然后使用editing the bucket permissions保证您的bucket是公开的。

插入这一行保证您的bucket是公开的。

恭喜,您现在准备好了一个提供chart的空GCS bucket!

您可以使用Google Cloud Storage命令行工具上传您的chart仓库,或者使用GCS的web页面。一个公共的GCS bucket可以通过简单的HTTPS地址访问:https://bucket-name.storage.googleapi.com/。

2、Cloudsmith

也可以使用Cloudsmith设置chart仓库。在 这里 关于Cloudsmith配置chart仓库的内容。

Helm Chart Repository

3、JFrog Artifactory

同样,也可以使用JFrog Artifactory配置chart仓库。在 这里 关于JFrog Artifactory配置chart仓库的内容。

4、GitHub页面示例

您可以用GitHub页面以类似的方式创建chart仓库。

GitHub允许您使用两种方式提供静态web页面:

通过docs/目录配置项目

通过特定的分支配置项目

我们将使用第二种方式,不过第一种方式也很简单。

第一步是创建您的gh-pages分支。您可以在本地创建:

$ git checkout -b gh-pages

或者在您的GitHub仓库通过web页面使用Branch按钮。

然后,您要保证您的gh-pages-branch设置为GitHub页面,点击您仓库的Settings并相信找到GitHub pages部分并设置如下:

默认Source一般设置为gh-pages branch。如果不是默认,把它选上。

如果想使用自定义域名使用custom domain。

然后确保勾选了Enforce HTTPS,这样提供chart时会使用HTTPS。

在这个配置中,您可以使用您的默认分支存储您的chart代码,并使用gh-pages branch作为chart仓库,比如:https://USEERNAM.github.io/REPONAME。TS Charts示例仓库可以访问https://technosophos.github.io/tscharts/。

https://github.com/technosophos/tscharts

如果您想使用GitHub页面托管chart仓库,请查看Chart发布操作。Chart发布操作是GitHub的操作流,可以将GitHub项目转换成自托管的Helm chart仓库,可以使用heml/chart-release CLI工具。

Helm | Chart发布操作用以自动化GitHub的页面Chart

https://github.com/helm/chart-releaser

5、普通web服务器

配置一个一般的服务器来提供Helm chart,您只需执行以下操作:

将index和chart放置在可提供服务的服务器目录中

确保index.yaml文件无需验证即可访问

确保yaml文件是正确的内容类型(text/yaml或text/x-yaml)

比如,如果您想在$ WEBROOT/charts提供您的chart,要保证在web的root目录有一个charts/目录,并将index文件和chart放在这个目录中。

6、ChartMuseum仓库服务器

ChartMuseum是一个用Go也得开源Helm Chart仓库服务器,支持存储后端,包括文件是正确的内容类型

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Microsoft Word 设置底纹

Microsoft Word 设置底纹 References 打开文档页面,选中特定段落或全部文档 在“段落”中单击“边框”下三角按钮 在列表中选择“边框和底纹”选项 在“边框和底纹”对话框中单击“底纹”选项卡 在图案样式和图案颜色列表中设置合适颜色的底纹,单击“确…

S32K3系列 --- 硬件I2C Mcal配置

前言 网上看到很多I2C的教程,基本都是模拟I2C,现在S32K3的芯片支持硬件I2C,我想着就配一个硬件的出来吧,这边记录一下,供大家学习。 一、I2C原理 这里主要教大家如何去配置,去使用。 原理的话可以参考这篇文章: 一文搞懂I2C通信总线_i2c通信的详细讲解-CSDN博客 I2…

虚拟化技术、Docker、K8s笔记总结

一、虚拟化技术 是一种将物理资源(如服务器、存储设备、网络设备等)抽象、转换和分割成多个逻辑资源的技术。通过虚拟化技术,用户可以在单个物理设备上运行多个相互独立的虚拟环境,从而提高资源的利用率、降低运维成本和提高系统…

Spring5深入浅出篇:Spring工厂设计模式拓展应用

Spring5深入浅出篇:Spring工厂设计模式拓展应用 简单工厂实现 这里直接上代码举例子 UserService.java public interface UserService {public void register(User user);public void login(String name, String password); }UserServiceImpl.java public class UserService…

Three.JS教程1环境搭建、场景与相机

Three.JS教程1环境搭建、场景与相机 一、Three.JS简介二、环境搭建1. 开发准备2. 安装 three.js3. 新建文件index.htmlmain.js 4. 关于附加组件5. 启动 三、创建场景1. 场景的概念2. 相机的概念3. 相机的几个相关概念(1)视点(Position&#x…

Ability to Use Oracle Data Pump to Export and Import the Unified Audit Trail

Ability to Use Oracle Data Pump to Export and Import the Unified Audit Trail 从18c版本开始才能使用数据泵工具导出统一审计的记录

DAY03_Spring—自动装配注解模式优化XML文件

目录 1 Spring注解模式1.1 自动装配1.1.1 说明1.1.2 配置规则 1.2 注解模式1.2.1 关于注解的说明1.2.2 注解使用原理1.2.3 编辑配置文件1.2.4 属性注解 1.3 实现MVC结构的纯注解开发1.3.1 编写java代码1.3.2 编辑xml配置文件1.3.3 编写测试类1.3.4 关于注解说明1.3.5 关于Sprin…

openAI 通过php方式 发送请求,流数据形式传输,php 实现chatGPT功能

书接上文,如何在PHP中对接openAI接口 PHP调用OpenAI API的方法js文件PHP调用OpenAI API的方法 此处使用的框架是 symfony ,可自行根据自己框架开发,大同小异,框架无所谓,主要是功能! 先上代码: <?php namespace LdWxappPlugin\Api\Resource\Chatapi; use ApiBundle\…

Vue学习笔记8--插槽<slot></slot>

一、作用 让父组件可以向子组件指定的位置插入html结构&#xff0c;&#xff0c;也是一种组件间通信的方式&#xff0c;适用于父组件》子组件。二、分类&#xff1a; 默认插槽具名插槽作用域插槽 三、使用方法 1. 默认插槽 父组件中&#xff1a; <Category><div…

uni-app qiun-data-charts无法显示tooltip

如下代码无法使得图表展示tooltip <template><view style"overflow: hidden; background-color: #fff;box-sizing: border-box; border-radius: 5px; box-shadow: 4px 2px 6px #ccc;padding: 10px; position:relative;"><view style"font-weigh…

Ubuntu20.4 Mono C# gtk 编程习练笔记(二)

界面设计习练后&#xff0c;下面写一些程序设计心得。 程序结构 先看一下程序总体结构&#xff0c;先在program.cs中找到main入口&#xff0c;在命名空间下是MainClass类&#xff0c;Main函数进入后首先建立应用程序环境 Application.Init&#xff0c;然后对MainWindow进行实…

【嘉立创EDA-PCB设计指南】3.网络表概念解读+板框绘制

前言&#xff1a;本文对网络表概念解读板框绘制&#xff08;确定PCB板子轮廓&#xff09; 网络表概念解读 在本专栏的上一篇文章【嘉立创EDA-PCB设计指南】2&#xff0c;将设计的原理图转为了PCB&#xff0c;在PCB界面下出现了所有的封装&#xff0c;以及所有的飞线属性&…

What is `StringEscapeUtils.escapeHtml4` does?

StringEscapeUtils.escapeHtml4 作用是将特殊字符转换为它们对应的HTML实体形式&#xff0c;从而防止这些字符在网页中被解析为HTML标签或脚本&#xff0c;有助于防止跨站脚本攻击&#xff08;XSS, Cross-Site Scripting&#xff09; 依赖 <!--org.apache.commons.text.St…

【开源】基于JAVA语言的智慧家政系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 查询家政服务4.2 新增单条服务订单4.3 新增留言反馈4.4 小程序登录4.5 小程序数据展示 五、免责说明 一、摘要 1.1 项目介绍 基于微信小程序JAVAVueSpringBootMySQL的智慧家政系统&#xff0…

【Docker】安装 Nginx 容器并部署前后端分离项目

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《Docker实战》。&#x1f3af;&#x1f3af; &…

GRU门控循环单元神经网络的MATLAB实现(含源代码)

在深度学习领域&#xff0c;循环神经网络&#xff08;RNN&#xff09;因其在处理序列数据方面的卓越能力而受到广泛关注。GRU&#xff08;门控循环单元&#xff09;作为RNN的一种变体&#xff0c;以其在捕捉时间序列长距离依赖关系方面的高效性而备受推崇。在本文中&#xff0c…

SpringBoot 中使用 Quartz 创建定时任务

文章目录 一、使用示例二、运行原理 一、使用示例 自定义 job&#xff1a; Slf4j public class MyJob extends QuartzJobBean {Overrideprotected void executeInternal(JobExecutionContext context) throws JobExecutionException {log.info("MyJob start...");l…

JavaWeb后端——Maven

maven主要服务于基于Java平台的项目构建、依赖管理和项目信息管理 maven项目对象模型简称POM&#xff0c; maven解决问题&#xff1a; 1. 添加第三方jar包&#xff0c;maven将 jar 包放在本地仓库中统一管理&#xff0c;使用时用坐标的方式引用即可 2. 解决 jar 包之间的依…

Facebook与环境保护:社交媒体的可持续发展

在当今社会&#xff0c;科技发展日新月异&#xff0c;而社交媒体作为数字时代的代表之一&#xff0c;正面临着巨大的责任与机遇。随着全球环境问题的凸显&#xff0c;社交媒体平台如Facebook也逐渐认识到自身在环保可持续发展中的角色。本文将深入探讨Facebook在环境保护方面的…

统计学-R语言-5.3

文章目录 前言分位数统计量的标准误总结 前言 本篇文章即为概率与分布的最后一篇文章。 分位数 分位数函数是累积分布函数的反函数。 p-分位数是具有这样性质的一个值&#xff1a;小于或等于它的概率为p。 根据定义&#xff0c;中位数即50%分位数。 分位数通常用于置信区间的…