首页 > 其他分享 >HELM的使用

HELM的使用

时间:2022-09-28 01:34:28浏览次数:71  
标签:yaml -- chart helm Values 使用 HELM release

一、helm的主要功能

1、创建新的chart
2、chart打包成tgz格式
3、上传chart到chart仓库或从仓库中下载chart
4、在kubernetes集群中安装或卸载chart
5、管理用helm安装的chart的发布周期

二、helm的三个重要概念

1、chart:包含了创建kubernetes的一个应用实例的必要信息
2、config:包含了应用发布配置信息
3、release:是一个chart及其配置的一个运行实例

三、helm的常用命令

helm repo list             		 //查看仓库
helm repo update     			 //更新仓库
helm search mysql   			 //搜索chart包
helm install stable/mysql --name mydb 	 //安装chart
helm list                                //查看release
helm rollback mydb 1                     //回滚到某个版本
helm delete mydb                         //删除release,未彻底删除,helm ls还是能查找到
helm delete mydb --purge                 //彻底删除release
helm ls --all                            //查看所有release包括已删除的
helm get manifest mydb //查看release具体信息
helm install --dry-run --debug ./mychart //调试不部署chart

四、helm install -f 更新release,

4.1、自定义config.yaml

cat config.yaml
mysqlUser: haimaxyUser
mysqlDatabase: haimaxyDB
persistence:
    enabled: false     //禁用pvc
service:
    type: NodePort

4.2、通过配置文件修改release

helm install -f config.yaml stable/mysql --name mydb   //首次生成
helm upgrade -f config.yaml mydb stable/mysql    //更新

 

五、helm create 创建使用chart案例

5.1、创建chart

helm create mychart 

NOTES.txt //帮助文档
Chart.yaml //chart的meta信息,包括chart名称、版本、描述信息
values.yaml //针对模板的一些默认值,通过.Values.可以获得

5.2、将mychart/templates下的所有文件删除,自定义一个configmap.yaml

5.3、执行创建release

helm install ./mychart/

六、template的使用 

helm的template的语法使用的是go语言的template的语法,有一些内置的参数可以直接调用,如.Release.Name

apiVersion: v1
kind:Configmap
metadata:
   name:{{ .Release.Name }}-configmap   //release.name为自带的
data:
   myvalue:"hello world"

创建之后生成的configmap名称为release名称

 

 

release.name只是内置对象的一个举例,还有其他的内置对象如下:

七、values值的来源

1、自带的变量值:如.Release.Name

2、chart.yaml和values.yaml里面的文件,可以通过.Values.变量或者.Chart.Name获取

 

 

3、helm install -f 获取的值,custom.yaml的值可以覆盖values.yaml里面的值

 

 

4、通过--set获取  //优先级最高

helm install --set replicase=2
.Values.replicase

八、template模板的使用 

8.1、管道的使用方法,

upper将.Values.course.k8s的值变成大写

更多模板参考:https://pkg.go.dev/github.com/Masterminds/sprig

8.2、template 的if-else语句,

例:判断等于的话则加上web:true标签

 

 

如图:渲染完成后,出现了空格,这是因为{{} if eq .Values.course,python "django"}}这段默认是不输出的,所以出现了空格

处理方法:添加破折号,破折号代表删除空格

 

 

重新部署之后,发现空格消失了

8.3  with语句,定义域的范围,

with .Values.hello代表一个域,.k8s和.python代表从.Values.hello域里面取值

 

 

8.4、range进行遍历

①、例:想要遍历以下courselist内的字段

解释:红框内的点代表在.Values.courselist这个域内,title代表取出的值首字母大写

②、也可以使用key,value的形式进行遍历

 

 

输出结果如下:

8.5、变量的使用

定义变量:$releaseName

 

 

8.6、helm模板之命名模板

 

标签:yaml,--,chart,helm,Values,使用,HELM,release
From: https://www.cnblogs.com/wuchangblog/p/16736366.html

相关文章

  • 【前端必会】使用indexedDB,降低环境搭建成本
    背景学习前端新框架、新技术。如果需要做一些数据库的操作来增加demo的体验(CURD流程可以让演示的体验根据丝滑)最开始的时候一个演示程序我们会调用后台,这样其实有一点弊......
  • 使用sfs或sgs的模型图层查询服务
        在TE中连接sfs或者sgs发布的3dml模型图层,单选每个模型会弹出相应的属性信息,或者点击图层右键,可以查询模型图层的属性信息。单个模型属性信息:模型属性信息列表: ......
  • C#使用 OpenXML SDK读取Excel文档
        Excel的文档,本身就是一个压缩包,使用压缩工具打开一个excel文件,可以看到里边的文件列表如下图:    里边的文件主要就是一些xml文件和其他的素材    ......
  • 序列化类常用字段类和字段参数、序列化类高级用法之source、序列化类高级用法之定制序
    目录序列化类常用字段和字段参数常用字段类需要记住的字段类常用字段参数序列化类高级用法之source,修改序列化字段名字序列化类高级用法之定制序列化字段的俩种方式方式一......
  • VueJs 自定义过滤器使用总结
    在这个教程中,我们将会通过几个例子,了解和学习VueJs的过滤器。我们参考了一些比较完善的过滤器,比如orderBy和filterBy。而且我们可以链式调用过滤器,一个接一个过滤。因此,我......
  • Flask学习笔记(六)-蓝图 blueprint的基本使用
    一、前言蓝图(blueprint)技术,可以帮助你实现flask应用的模块划分,在组织flask代码时,有两种模式,分别为功能式架构和分区式架构,使用蓝图,可以让项目架构更有层次,模块划分更便......
  • JQuery Ajax使用FormData对象上传文件 图片
    通过jQueryAjax使用FormData对象上传文件​​FormData​​对象,是可以使用一系列的键值对来模拟一个完整的表单,然后使用​​XMLHttpRequest​​发送这个"表单"。在 Mozilla......
  • #打卡不停更#编译效率快三倍,使用WSL2编译OpenHarmony嘎嘎得劲!!
    笔者发现使用wsl(WindowsSubsystemforLinux,适用于Linux的Windows子系统)编译openharmony镜像比传统虚拟机快3倍以上。编译环境换成wsl后,编译ohos只需要传统虚拟机上三......
  • 数组的使用
    数组的使用普通的For循环For-Each循环数组作方法入参.数组作返回值=========================================================================案例代码......
  • SignalR基本使用
    在传统的HTTP中,只能客户端主动向服务器端发起请求,服务器端无法主动向客户端发送消息。有的业务场景下,我们需要服务器端主动向客户端发送消息,比如Web聊天室、OA系统、站内消......