helm笔记
一。注意事项
1.values.yaml 中可以使用'#'号注释行,而/templates 下的文件不能用#号,如果要注释可以使用 {{/* context */}}
2。{{- #忽略前面空格 ,-}} #忽略后面空格
3.在yaml中如果要输入大块有格式的数据可以用 ‘|-’,这样就会保留原有格式,否则我们加载到程序中时不会保留原有格式
4.在YAML中可以使用 '!!str' 将内容强制为字符类型,'!!int'将内容强制转换为整数类型
5.include与 template的区别:
template后面无法使用管道,template只是一个动作而不是一个函数,数据属性是内联的,无缩进
include是一个函数,后面可以使用管道,可以利用indent函数缩进
二。模板内读取文件中内容:
1.需要传入要读取的文件名
{{ $file := .Files }}
{{ range tuple "file" "file2" }}
{{ . }} ----- {{ $file.Get .}}
{{ end }}
########################
2.筛选指定类型只匹配以yaml结尾的文件:
{{ $root := . }}
{{ range $path, $bytes := .Files.Glob "**.yaml" }}
{{ $path }}: |-
{{ $root.Files.Get $path }}
{{ end }}
3.将文件内容导入configmap:
{{ .Files.Get "file" }}
4.将指定类型文件读入后显示文件名和文件内容:
{{- (.Files.Glob "foo/*").AsConfig | nindent 2 }}
渲染结果:
# Source: helm-repo/templates/configmap.yaml
file: |
hello
file2: |
word
5.将文件内容导入做Secret
{{- (.Files.Glob "bar/*").AsSecrets | nindent 2 }}
渲染结果:
# Source: helm-repo/templates/configmap.yaml
file: aGVsbG8K
file2: d29yZAo=
6.逐行显示文件:
{{ range .Files.Lines "foo/bar.txt" }}
{{ . }}
{{ end }}
三。内置方法:
1.title #首字母大写
2.upper #转为大写
3.quote #用引号括起来
4.default val #定义一个默认值
5.requied #定义一个约束,values文件中必须定义此值,否则就报错
6.b64enc #使用base64加密
7.b64dec #使用base64解密
8.indent INT #缩进指定字符
9.nindent INT #在新行缩进
四。模板变量:
{{- $NAME := .Release.Name -}} #定义变量并赋值
{{ $NAME }} #变量引用
上面定义的变量的作用是全局的,而下面的示例变量的范围则是局部的,只作用于定义的块中:
#字典循环:
{{- range $key, $val := .Values.favorite }}
{{ $key }}: {{ $val | quote }}
{{- end}}
#列表循环:
{{ range $index, $val := .Values.name }}
{{ $index }} : {{ $val }}
{{ end }}
Note:在helm中循环使用range来实现的,没有FOR。
五.chart与子chart:
- 子chart是独立的,这意味着子chart永远不会明确依赖其父chart。
- 子chart无法访问其父级的值,除非在父chart中定义global
- 父chart可以覆盖子chart的值。
六。调试:
1.helm lint Chart_Path #查看是否有语法错误
2.helm install --dry-run --debug #查看渲染结果而不真的发布到k8s
3.helm get manifest Release_name #查看release的K8Syml定义文件
4.helm template Chart -x templates/deployment.yaml #查看指定模板的渲染结果
helm笔记的更多相关文章
- Kubernetes笔记(三):Gitlab+Jenkins Pipeline+Docker+k8s+Helm自动化部署实践(干货分享!)
通过前面两篇文章,我们已经有了一个"嗷嗷待哺"的K8s集群环境,也对相关的概念与组件有了一个基本了解(前期对概念有个印象即可,因为只有实践了才能对其有深入理解,所谓"纸上 ...
- Helm学习笔记
Helm学习笔记 Helm 是 Kubernetes 生态系统中的一个软件包管理工具.本文将介绍 Helm 中的相关概念和基本工作原理,并通过一个具体的示例学习如何使用 Helm 打包.分发.安装.升 ...
- kubernetes学习笔记之十四:helm入门
1.Helm的简介 Helm是Kubernetes的一个包管理工具,用来简化Kubernetes应用的部署和管理.可以把Helm比作CentOS的yum工具. Helm有如下几个基本概念: Chart ...
- 【英语魔法俱乐部——读书笔记】 3 高级句型-简化从句&倒装句(Reduced Clauses、Inverted Sentences) 【完结】
[英语魔法俱乐部——读书笔记] 3 高级句型-简化从句&倒装句(Reduced Clauses.Inverted Sentences):(3.1)从属从句简化的通则.(3.2)形容词从句简化. ...
- ASP.NET Core on K8S深入学习(10)K8S包管理器Helm
本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章. 一.关于Helm 1.1 为何需要Helm? 虽然K8S能够很好地组织和编排容 ...
- k8s kubernetes 核心笔记 镜像仓库 项目k8s改造(含最新k8s v1.16.2版本)
k8s kubernetes 核心笔记 镜像仓库 项目k8s改造 2019/10/24 Chenxin 一 基本资料 一 参考: https://kubernetes.io/ 官网 https://k ...
- Kubernetes笔记(四):详解Namespace与资源限制ResourceQuota,LimitRange
前面我们对K8s的基本组件与概念有了个大致的印象,并且基于K8s实现了一个初步的CI/CD流程,但对里面涉及的各个对象(如Namespace, Pod, Deployment, Service, In ...
- Kubernetes学习笔记_尚硅谷
https://www.bilibili.com/video/BV1w4411y7Go?p=1 一.K8s介绍 k8s是一个编排容器的工具,其实也是管理应用的全生命周期的一个工具,从创建应用,应用的部 ...
- 通过helm部署EFK收集应用日志,ingress-nginx日志解析。
前段时间看了马哥的k8s新书,最后几章讲了下EFK,尝试部署了下,很多问题, 这里改进下,写个笔记记录下吧. 准备工作 所有组件都通过helm3部署,选添加几个仓库. helm repo add bi ...
随机推荐
- Qt编写气体安全管理系统29-跨平台
一.前言 Qt的跨平台特性是非常厉害的,本来作为C++来说,跨平台的特性比JAVA还要好,只不过学习难度更大,所以大家更理解的跨平台是JAVA,Qt的跨平台特性是我见过的所有开发环境和语言中最厉害的, ...
- Docker容器(六)——创建docker私有化仓库
docker私有化仓库是为了节约带宽(外网速度慢或者干脆不能连外网),以及自己定制系统. (1).环境 youxi1 192.168.5.101 docker私有化仓库 youxi2 192.168. ...
- base64方式显示控件
data:,文本数据 data:text/plain,文本数据 data:text/html,HTML代码 data:text/html;base64,base64编码的HTML代码 data:tex ...
- [LeetCode] 654. Maximum Binary Tree 最大二叉树
Given an integer array with no duplicates. A maximum tree building on this array is defined as follo ...
- Oracle Spatial 中的弧段及弧相关拓扑错误
1.报告说明 此报告用于验证下列问题: ORACLE SPATIAL 0.05m的最小拓扑容差值是否可以被修改 原始数据通过ARCGIS入库数据精度是否有损失 修改ORACLE SPATIAL图层的最 ...
- PHP设计模式 - 建造者模式
建造者模式主要在于创建一些复杂的对象.将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示的设计模式; 结构图: <?php /** * * 产品本身 */ class Pro ...
- 【vim小记】vim的高效移动
我还是推荐所有刚入门vim的朋友先去用vimtutor练习,然后去看vim的帮助文档,写的十分仔细,而且可以马上实战,见效很快,以下的很多示意图都是vim帮助文档里的例子,我觉得很好,就拿出来了. v ...
- [转帖]IBM报告:多国央行考虑发行数字货币 最快5年内问世
IBM报告:多国央行考虑发行数字货币 最快5年内问世 https://news.cnblogs.com/n/646001/ DCEP 中国央行可能是第一家发布 数字货币的央行 DCEP 是基于 UTX ...
- XShell上传、下载本地文件到linux服务器
Python之道发表于程序员八阿哥订阅 1.2K 腾讯云服务器 年付3折起 首次购买云服务器 最低3折起 超高性价比 限时抢购 Xshell很好用,然后有时候想在windows和linux上传或下载某 ...
- Spring的并发问题——有状态Bean和无状态Bean
一.有状态和无状态 有状态会话bean :每个用户有自己特有的一个实例,在用户的生存期内,bean保持了用户的信息,即“有状态”:一旦用户灭亡(调用结束或实例结束),bean的生命期也告结束.即每 ...