helm-chart-2-chart结构和简单模板
1, chart 结构介绍
我们创建一个chart 并查看其结构
右侧注释为其文件的的解释
$ helm create mychart
$ cd mychart/
$ tree
├── charts # 用于放置子charts
├── Chart.yaml # 这里有一些chart的基本信息,名称、版本、对应的app版本等。
├── templates # 放置模板 最终被渲染为不同的 manifest(大概是一些配置和元数据)
│ ├── deployment.yaml # 这个模板最终会被渲染为 deployment的基本manifest
│ ├── _helpers.tpl # 这个文件用于 存放模板,给其他地方调用,本身不会被渲染(参照函数库理解)
│ ├── ingress.yaml
│ ├── NOTES.txt # chart的说明文件,会在安装、升级后显示其内容,也可以用模板的方式写,会被渲染。
│ └── service.yaml
└── values.yaml # 存放‘值’ 的地方,渲染templates下模板所用的值,有一大部分来源于此
2,简单模板介绍
在Kubernetes中,ConfigMap是存储配置数据的地方。其他的东西,比如Pod,可以访问ConfigMap中的数据
模板名称不遵循严格的命名模式。但是,我们建议.yaml为YAML文件后缀,.tpl为模板助手后缀。
我们创建一个名为:mychart/templates/configmap.yaml 的文件
其内容如下:
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-configmap
data:
myvalue: "Hello World"
这里有一个模板引用,{{ .Release.Name }}会被渲染为 ap的release名称。(该Release对象是Helm的内置对象之一,稍后会进一步介绍它。)
接下来,介绍几个命令:
$ helm install ./mychart # 安装并获取反馈信息
NAME: clunky-serval
LAST DEPLOYED: Tue Nov 1 17:45:37 2016
NAMESPACE: default
STATUS: DEPLOYED
RESOURCES:
==> v1/ConfigMap
NAME DATA AGE
clunky-serval-configmap 1 1m
$ helm get manifest full-coral
# helm get manifest命令获取release名称(full-coral)并打印出上传到服务器的所有Kubernetes资源。
# 每个文件都以---开始作为文档的起始,然后是一个自动生成的注释行,告诉我们该模板文件生成于哪个YAML文档
---
# Source: mychart/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: goodly-gupp-configmap # 渲染过的值
data:
myvalue: "Hello World"
$ helm install --debug --dry-run ./mychart
# 一个快速调试的技巧(还有一个是 helm lint name):当您想测试模板渲染,但实际上不安装任何东西时,
# 可以使用helm install --debug --dry-run ./mychart。
# 这会把chart发送到Tiller服务器,将渲染模板。但不安装chart,会将渲染模板返回,以便可以看到如下输出
SERVER: "localhost:44134"
CHART PATH: /Users/mattbutcher/Code/Go/src/k8s.io/helm/_scratch/mychart
NAME: goodly-guppy
TARGET NAMESPACE: default
CHART: mychart 0.1.0
MANIFEST:
---
# Source: mychart/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: goodly-guppy-configmap
data:
myvalue: "Hello World"
转载注明出处:
https://www.jianshu.com/p/d0b0dcad531e
helm-chart-2-chart结构和简单模板的更多相关文章
- 再起航,我的学习笔记之JavaScript设计模式30(简单模板模式)
简单模板模式 概念介绍 简单模板模式(Simple template): 通过格式化字符串拼凑出视图避免创建视图时大量节点操作,优化内存开销. 创建模板 在实际的业务中如果我们需要进行前后台交互,或多 ...
- Linux系统目录结构以及简单说明
Linux系统目录结构以及简单说明 linux目录图: / root --- 启动Linux时使用的一些核心文件.如操作系统内核.引导程序Grub等. home --- 存储普通用户的个人文件 ftp ...
- 【转】C#类的分类(静态类、实例类、嵌套类、结构、简单的抽象类、简单的密封类)
静态类 -------------------------------------------------------------------------------- 静态类就是在class关键字前 ...
- maven pom文件简单模板和配置详解
https://blog.csdn.net/earbao/article/details/49924943 maven pom文件简单模板和配置详解
- day8学python 各种简单模板
各种简单模板 内容: 1.shelve模板 存储数据 2.shutil 模板 用作拷贝/删除/压缩文件(使用便捷) 3.hashlib 模板 加密文件 4.re模板 ================= ...
- day7学python 初识简单模板
初识简单模板 模块与包 1.模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现功能),本质是.py结尾的文件 但导入的模块名,无.py 2.包:从逻辑上组织模块,本质就是目录(含有_i ...
- js 简单模板引擎
代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" cont ...
- K8s helm 创建自定义Chart
# 删除之前创建的 chart helm list helm delete --purge redis1 # 创建自定义 chart myapp cd ~/helm helm create myapp ...
- 关于微软C#中的CHART图表控件的简单使用【转】
最近公司项目要用到Chart图表控件,这是一个比较老的东西了,目前网络上似乎已经不太流行这个控件,但是只要配置了相关的属性,效果还是可以的.前前后后摸索了好久,接下来谈谈这个件控件最重要的几个属性. ...
随机推荐
- python---手动实现两个有序列表的合并
可能又和标准的实现不一样, 但是自己的实现, 印象就会不一样的. # coding = utf-8 # 两个有序列表的合并,将two_list合并到one_list def merge_order_l ...
- uva 11992
题意: 给定一个r*c(r<=20,r*c<=1e6)的矩阵,其元素都是0,现在对其子矩阵进行操作. 1 x1 y1 x2 y2 val 表示将(x1,y1,x2,y2)(x1<=x ...
- Comparison of several types of convergence
In functional analysis, several types of convergence are defined, namely, strong convergence for ele ...
- C# 之 4个访问修饰符和8个声明修饰符详解
一.4个访问修饰符(是添加到类.结构或成员声明的关键字) [1] Public:公有的,是类型和类型成员的访问修饰符.对其访问没有限制. [2] Internal:内部的,是类型和类型成员的访问修饰符 ...
- 一起学Hadoop——使用IDEA编写第一个MapReduce程序(Java和Python)
上一篇我们学习了MapReduce的原理,今天我们使用代码来加深对MapReduce原理的理解. wordcount是Hadoop入门的经典例子,我们也不能免俗,也使用这个例子作为学习Hadoop的第 ...
- js+jquery手写弹出提示框
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- P1052 过河 线性dp
题目描述 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数 ...
- Scala-Unit5-Scala面对对象与模式匹配
Java中的面向对象:万物皆对象. 我们要封装数据,定义模板等操作,素以我们需要面向对象. ====================================================== ...
- CentOS系统找不到setup命令工具的解决方法
如果你的CentOS系统中没有setup命令,很有可能是因为你安装CentOS系统时采用了最小化安装(minimal).这时,你执行setup命令时,就会报错: 错误信息: 1[root@localh ...
- POJ 3061 Subsequence【二分答案】||【尺取法】
<题目链接> 题目大意: 给你一段长度为n的整数序列,并且给出一个整数S,问你这段序列中区间之和大于等于S的最短区间长度是多少. 解题分析:本题可以用二分答案做,先求出前缀和,然后枚举区间 ...