【笔记】Helm- 5 Chart模板指南-2 内置对象

news/2024/7/4 7:47:40 标签: Helm, 云原生, kubernetes, k8s

内置对象

对象可以通过模板引擎传递到模板中。当然您的代码也可以传递对象。(我们在使用with和range语句时,会看到示例)。有几种方式可以在模板中创建新对象,比如说我们后面会看到的tuple功能。

对象可以是非常简单的:仅有一个值。或者可以包含其他对象或方法。比如,Release对象可以包含其他对象(比如:Release.Name)和Files对象有一组方法。

在上一部分中,我们用{{ .Release.Name }}在模板中插入版本名称。Release是您可以在模板中访问的顶层对象之一。

1、Release

Release对象描述了版本发布本身。包含了一下对象:

1)Release.Name

release名称

2)Release.Namespace

版本中包含的命名空间(如果manifest没有覆盖的话)

3)Release.IsUpgrade

如果当前操作是升级或回滚的话,该值将被设置为true

4)Release.IsInstall

如果当前操作是安装的话,该值将被设置为true

5)Release.Revision

此次修订的版本号。安装时是1,每次升级或回滚都会自增

6)Release.Service

该service用来渲染当前模板。Helm里始终Helm

2、Values

Values对象是从values.yaml文件和用户提供的文件传进模板的。默认为空

3、Chart

Chart.yaml文件内容。Chart.yaml里的所有数据在这里都可以可访问的。比如{{ .Chart.Name }}-{{ .Chart.Version }}会打印出mychart-0.1.0

1)在 Chart指南 中列出了可获得属性

Helm | Chart

4、Files

在chart中提供访问所有的非特殊文件的对象。您不能使用它访问Template对象,只能访问其他文件。请查看这个 文件访问 部分了解更多信息

Helm | 在模板内部访问文件

1)Files.Get

通过文件名获取文件的方法。(.Files.Getconfig.ini)

2)Files.GetBytes

用字节数组代替字符串获取文件内容的方法。对图片之类的文件很有用

3)Files.Glob

用给定的shell glob模式匹配文件名返回文件列表的方法

4)Files.Lines

逐行读取文件内容的方法。迭代文件中每一行时很有用

5)Files.AsSecrets

使用Base 64编码字符串返回文件体的方法

6)Flies.AsConfig

使用YAML格式返回文件体的方法

5、Capabilities

提供关于Kubernetes集群支持功能的信息

1)Capabilities.APIVersions.Has $version说明集群中的版本(比如,batch/v1)或是资源(比如,apps/v1/Deployment)是否可用

2)Capabilities.KubeVersion和Capabilities.KubeVersion.Version是Kubernetes的版本号

3)Capabilities.KubeVersion.Major Kubernetes的主版本

4)Capabilities.KubeVersion.Minor Kubernetes的次版本

5)Capabilities.HelmVersion.Version 是当前Helm语义格式的版本

6)Capabilities.HelmVersion.GitCommit Helm的git sha值

7)Capabilities.HelmVersion.GitTreeState 是Helm git树的状态

8)Capabilities.HelmVersion.GoVersion 是使用的Go编译器版本

6、Template

包含当前被执行的当前模板信息

1)Template.Name

当前模板的命名空间文件路径(e.g. mychart/templates/mytemplate.yaml)

2)Template.BasePath

当前chart模板目录的路径(e.g. mychart/templates)

内置的值都是以大写字母开始。这是符合Go的命名惯例。当您创建自己的名称时,可以按照团队约定自由设置。就像很多您在 Artifact Hub 中看到的chart,其图案对选择使用首字母小写将本地名称与内置对象区分开,本指南中我们也遵循该惯例。

Artifact Hub

————————————

仅用于本人学习

来源:Helm | Docs


http://www.niftyadmin.cn/n/5351447.html

相关文章

数据湖技术之平台建设篇2

数据湖技术之平台建设篇1,主要介绍了湖仓平台建设的前三个主要工作,本次主要继续上次的建设工作介绍,聊一聊一站式湖仓服务平台的相关管理能力建设以及针对小文件的处理。 一. 一站式湖仓服务平台的相关管理能力 主要是将相关能力落地到平台…

Mysql学习笔记第一章—Mysql数据库概述

Mysql数据库 1.数据库概述 DB:DataBase数据库,数据库实际上在硬盘上以文件形式存在。 DBMS:DataBase Management System数据库管理系统,常见有:MySQL、Oracle、DB2、Sybase、SqlServer…… SQL:结构化查…

AOP+Redisson 延时队列,实现缓存延时双删策略

一、缓存延时双删 关于缓存和数据库中的数据保持一致有很多种方案,但不管是单独在修改数据库之前,还是之后去删除缓存都会有一定的风险导致数据不一致。而延迟双删是一种相对简单并且收益比较高的实现最终一致性的方式,即在删除缓存之后&…

k8s学习(RKE+k8s+rancher2.x)成长系列之概念介绍(一)

一、前言 本文使用国内大多数中小型企业使用的RKE搭建K8s并拉起高可用Rancher2.x的搭建方式,以相关技术概念为起点,实际环境搭建,程序部署为终点,从0到1的实操演示的学习方式,一步一步,保姆级的方式学习k8…

ubuntu源码编译安装memcached和php-memcache 扩展

1.编译前,先确认gcc、make、patch等编译工具是否已安装,并可正常使用。 2.Libevent是一个异步事件处理软件函式库,以BSD许可证释出。Memcached 依赖Libevent,因此必须先编译安装Libevent。 wget https://github.com/libevent/lib…

Redis之缓存双写

目录 Redis之缓存双写 一、双检加锁策略 二、更新策略 1、先更新数据库,再更新缓存 2、先更新缓存,再更新数据库 3、先删除缓存,再更新数据库 4、先更新数据库,再删除缓存 三:canal消息中间件 1、mysql配置 …

Phoncent博客GPT写作工具

对于许多人来说,写作并不是一件轻松的事情。有时候,我们可能会遇到写作灵感枯竭、写作思路混乱、语言表达困难等问题。为了解决这些问题,Phoncent博客推出了一款创新的工具——GPT写作工具,它利用了GPT技术,为用户提供…

Nodejs 第三十六章(表达式和函数)

表达式 MySQL表达式是一种在MySQL数据库中使用的计算式或逻辑式。它们可用于查询、更新和过滤数据,以及进行条件判断和计算。 算术表达式:可以执行基本的数学运算,例如加法、减法、乘法和除法。例如:SELECT col1 col2 AS sum F…