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

内置对象

对象可以通过模板引擎传递到模板中。当然您的代码也可以传递对象。(我们在使用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.mzph.cn/news/654197.shtml

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

相关文章

C++ 类与对象(上)

目录 本节目标 1.面向过程和面向对象初步认识 2.类的引入 3.类的定义 4.类的访问限定符及封装 4.1 访问限定符 4.2 封装 5. 类的作用域 6. 类的实例化 7.类对象模型 7.1 如何计算类对象的大小 7.2 类对象的存储方式猜测 7.3 结构体内存对齐规则 8.this指针 8.1 thi…

系统架构18 - 软件工程(6)

软件工程 净室软件工程理论基础函数理论抽样理论 技术手段统计过程控制下的增量式开发 (Incremental Development )基于函数的规范与设计正确性验证统计测试 (Statistically Based Testing) 和软件认证 缺点 基于构件的软件工程构件特性CBSE过程构件组装组装方式 不兼容情况 净…

数据结构(一)------顺序表

文章目录 前言一、什么是顺序表二、实现顺序表1.静态顺序表2.动态顺序表总结 前言 制作不易!三连支持一下呗!!! 从今天起我们将会进入数据结构的学习! 我们先来了解 什么是数据结构 数据结构是计算机存储、组织数…

LeetCode(2)

目录 概念解释 栈 队列 树 树的概念 结点的分类 有序树 无序树 森林 二叉树 满二叉树 完全二叉树 二叉排序树 平衡二叉树 1.用栈实现队列 解法:双栈 2.字符串解码 解法:栈 3.二叉树的中序遍历 解法一:递归 解法二&#xff…

云微呼探索人工智能机器人对话:过去、现在和未来

随着科技的迅速发展,人工智能(AI)机器人已经成为我们日常生活中的重要一部分。从简单的语音助手到能够进行复杂对话的智能机器人,AI技术正在改变着我们与机器之间的互动方式。本文将探讨人工智能机器人对话的历史、现状以及未来发…

[SwiftUI]系统弹窗和自定义弹窗

一、系统弹窗 在 SwiftUI 中,.alert 是一个修饰符,用于在某些条件下显示一个警告对话框。Alert 可以配置标题、消息和一系列的按钮。每个按钮可以是默认样式、取消样式,或者是破坏性的样式,它们分别对应不同的用户操作。 1.Aler…

前端qrcode生成二维码详解

文章目录 前言1、浏览器支持2、优点3、缺点4、相关方法5、安装及使用示例 前言 qrcode 是一个基于JavaScript的二维码生成库,主要是通过获取 DOM 的标签,再通过 HTML5 Canvas 绘制而成,不依赖任何库。 官方文档:https://www.npm…

Kafka-服务端-GroupCoordinator

在每一个Broker上都会实例化一个GroupCoordinator对象,Kafka按照Consumer Group的名称将其分配给对应的GroupCoordinator进行管理; 每个GroupCoordinator只负责管理Consumer Group的一个子集,而非集群中全部的Consumer Group。 请注意与Kaf…

Java项目:基于SSM框架实现的企业员工岗前培训管理系统(ssm+B/S架构+源码+数据库+毕业论文)

一、项目简介 本项目是一套ssm821基于ssm框架实现的企业员工岗前培训管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格…

NetExec:一款功能强大的自动化网络安全评估与漏洞测试工具

关于NetExec NetExec是一款功能强大的自动化网络安全评估与漏洞测试工具,该工具可以帮助广大研究人员以自动化的形式测试大型网络的安全,并通过利用网络服务漏洞来评估目标网络的安全态势。 支持的协议 1、SMB协议 2、LDAP协议 3、WinRM协议 4、MSSQL协…

go语言函数进阶

1.变量作用域 全局变量 全局变量是定义在函数外部的变量,它在程序整个运行周期内都有效。 在函数中可以访问到全局变量。 package mainimport "fmt"//定义全局变量num var num int64 10func testGlobalVar() {fmt.Printf("num%d\n", num) /…

vue-head 插件设置浏览器顶部 favicon 图标 - 动态管理 html 文档头部标签内容

目录 需求实现11. 安装插件2. 项目内 main.js 引入3. vue页面使用 实现2其他 需求 vue项目中浏览器页面顶部图标可配置 实现1 使用 vue-head 插件实现 vue-head 插件可实现 html 文档中 head 标签中的内容动态配置(npm 官网 vue-head 插件) 1. 安装插件 …

promethues基础概念

promethues是一个开源的系统监控以及报警系统,整个zabbix的功能,系统,网络,设备 promethues可以兼容网络和设置被,容器监控,告警系统,因为他和k8s是一个项目基金开发的产品,天生匹配…

代码随想录算法训练营第34天 | 1005.K次取反后最大化的数组和 134.加油站 135.分发糖果

K次取反后最大化的数组和 贪心局部最优:将绝对值大的负数变为正数,当前和变为最大;全局最优:整体获得最大和。 如果负数都变成正数之后,k > 0,仍然需要继续翻转,贪心局部最优:将最…

14.STM32F4 LCD屏幕概念及源码下载(LCD之一)

一、LCD液晶显示屏介绍 1、常见的显示设备 在目前市面上,常见的显示设备种类有:LED、显示数码管、点阵LED显示屏、LCD液晶显示屏,这几种设备的特点是: (1)LED LED灯是最简单的显示设备,它只有两…

SpringBoot 基础概念:注册BeanDefinition

SpringBoot 基础概念:注册BeanDefinition 1. 前言2. BeanDefinitionReaderUtils#registerBeanDefinition3. DefaultListableBeanFactory#registerBeanDefinition 1. 前言 问题:为什么需要注册BeanDefinition? 为了后续实例化。Spring架构是将…

Vue中虚拟Dom技术,你学会了吗?

​总的来说,虚拟DOM是Vue中一项关键的技术,通过优化DOM操作,提高了性能,同时使开发者更专注于数据的变化而不用过多关心底层DOM操作。 在Vue中,虚拟DOM(Virtual DOM)是一项关键的技术&#xff…

JavaWeb,ES6的学习

概述 ECMAScript 6,简称ES6,是JavaScript语言的一次重大更新。它于2015年发布,是原来的ECMAScript标准的第六个版本。ES6带来了大量的新特性,包括箭头函数、模板字符串、let和const关键字、解构、默认参数值、模块系统等等&#…

随便封装一下BaseActivity 之 二

接着上回,菊花也稍微封装一下 老规矩,上码 一、定义一个菊花interface,真正实现菊花的接口类 open interface ILoading {/*** 获取加载服务*/fun getLoad(): Any?/*** 注册目标view*/fun register(target: Any)/*** 注册目标view*/fun re…

天拓四方:物联网网关在机械制造企业的应用

随着物联网技术的不断发展,越来越多的机械制造企业开始探索如何利用物联网技术提升生产效率、降低运营成本。物联网网关作为物联网架构中的关键设备,能够实现设备间的数据交互与远程控制,为机械制造企业带来了巨大的商业价值。它能够实现设备…