1厉颤, chart 結(jié)構(gòu)介紹
我們創(chuàng)建一個(gè)chart 并查看其結(jié)構(gòu)
右側(cè)注釋為其文件的的解釋
$ helm create mychart
$ cd mychart/
$ tree
├── charts # 用于放置子charts
├── Chart.yaml # 這里有一些chart的基本信息凡简,名稱精肃、版本帜乞、對(duì)應(yīng)的app版本等。
├── templates # 放置模板 最終被渲染為不同的 manifest(大概是一些配置和元數(shù)據(jù))
│ ├── deployment.yaml # 這個(gè)模板最終會(huì)被渲染為 deployment的基本manifest
│ ├── _helpers.tpl # 這個(gè)文件用于 存放模板挖函,給其他地方調(diào)用,本身不會(huì)被渲染(參照函數(shù)庫(kù)理解)
│ ├── ingress.yaml
│ ├── NOTES.txt # chart的說(shuō)明文件津畸,會(huì)在安裝、升級(jí)后顯示其內(nèi)容肉拓,也可以用模板的方式寫(xiě)梳庆,會(huì)被渲染。
│ └── service.yaml
└── values.yaml # 存放‘值’ 的地方膏执,渲染templates下模板所用的值,有一大部分來(lái)源于此
2欺栗,簡(jiǎn)單模板介紹
在Kubernetes中,ConfigMap是存儲(chǔ)配置數(shù)據(jù)的地方迟几。其他的東西栏笆,比如Pod,可以訪問(wèn)ConfigMap中的數(shù)據(jù)
模板名稱不遵循嚴(yán)格的命名模式蛉加。但是,我們建議.yaml為YAML文件后綴祟偷,.tpl為模板助手后綴。
我們創(chuàng)建一個(gè)名為:mychart/templates/configmap.yaml 的文件
其內(nèi)容如下:
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-configmap
data:
myvalue: "Hello World"
這里有一個(gè)模板引用,{{ .Release.Name }}會(huì)被渲染為 ap的release名稱户盯。(該Release對(duì)象是Helm的內(nèi)置對(duì)象之一嵌施,稍后會(huì)進(jìn)一步介紹它莽鸭。)
接下來(lái),介紹幾個(gè)命令:
$ 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)并打印出上傳到服務(wù)器的所有Kubernetes資源足淆。
# 每個(gè)文件都以---開(kāi)始作為文檔的起始礁阁,然后是一個(gè)自動(dòng)生成的注釋行,告訴我們?cè)撃0逦募捎谀膫€(gè)YAML文檔
---
# Source: mychart/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: goodly-gupp-configmap # 渲染過(guò)的值
data:
myvalue: "Hello World"
$ helm install --debug --dry-run ./mychart
# 一個(gè)快速調(diào)試的技巧(還有一個(gè)是 helm lint name):當(dāng)您想測(cè)試模板渲染丹鸿,但實(shí)際上不安裝任何東西時(shí),
# 可以使用helm install --debug --dry-run ./mychart靠欢。
# 這會(huì)把chart發(fā)送到Tiller服務(wù)器铜跑,將渲染模板。但不安裝chart锅纺,會(huì)將渲染模板返回,以便可以看到如下輸出
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"
轉(zhuǎn)載注明出處:
http://www.reibang.com/p/d0b0dcad531e