新增description;初始化wikijs示例
This commit is contained in:
30
description/Chart.yaml
Normal file
30
description/Chart.yaml
Normal file
@@ -0,0 +1,30 @@
|
||||
apiVersion: chart API 版本 (必需)
|
||||
name: chart名称 (必需)
|
||||
version: 语义化2 版本(必需)
|
||||
kubeVersion: 兼容Kubernetes版本的语义化版本(可选)
|
||||
description: 一句话对这个项目的描述(可选)
|
||||
type: chart类型 (可选)
|
||||
keywords:
|
||||
- 关于项目的一组关键字(可选)
|
||||
home: 项目home页面的URL (可选)
|
||||
sources:
|
||||
- 项目源码的URL列表(可选)
|
||||
dependencies: # chart 必要条件列表 (可选)
|
||||
- name: chart名称 (nginx)
|
||||
version: chart版本 ("1.2.3")
|
||||
repository: (可选)仓库URL ("https://example.com/charts") 或别名 ("@repo-name")
|
||||
condition: (可选) 解析为布尔值的yaml路径,用于启用/禁用chart (e.g. subchart1.enabled )
|
||||
tags: # (可选)
|
||||
- 用于一次启用/禁用 一组chart的tag
|
||||
import-values: # (可选)
|
||||
- ImportValue 保存源值到导入父键的映射。每项可以是字符串或者一对子/父列表项
|
||||
alias: (可选) chart中使用的别名。当你要多次添加相同的chart时会很有用
|
||||
maintainers: # (可选)
|
||||
- name: 维护者名字 (每个维护者都需要)
|
||||
email: 维护者邮箱 (每个维护者可选)
|
||||
url: 维护者URL (每个维护者可选)
|
||||
icon: 用做icon的SVG或PNG图片URL (可选)
|
||||
appVersion: 包含的应用版本(可选)。不需要是语义化,建议使用引号
|
||||
deprecated: 不被推荐的chart (可选,布尔值)
|
||||
annotations:
|
||||
example: 按名称输入的批注列表 (可选).
|
||||
129
description/README.md
Normal file
129
description/README.md
Normal file
@@ -0,0 +1,129 @@
|
||||
# Chart 说明
|
||||
## 文件结构
|
||||
|
||||
chart是一个组织在文件目录中的集合。目录名称就是chart名称(没有版本信息)。
|
||||
|
||||
``` bash
|
||||
chart/
|
||||
Chart.yaml # 包含了chart信息的YAML文件
|
||||
LICENSE # 可选: 包含chart许可证的纯文本文件
|
||||
README.md # 可选: 可读的README文件
|
||||
values.yaml # chart 默认的配置值
|
||||
values.schema.json # 可选: 一个使用JSON结构的values.yaml文件
|
||||
charts/ # 包含chart依赖的其他chart
|
||||
crds/ # 自定义资源的定义
|
||||
templates/ # 模板目录, 当和values 结合时,可生成有效的Kubernetes manifest文件
|
||||
templates/NOTES.txt # 可选: 包含简要使用说明的纯文本文件
|
||||
```
|
||||
|
||||
<br/>
|
||||
|
||||
## Chart.yaml
|
||||
|
||||
Chart.yaml文件是chart必需的。包含了以下字段:
|
||||
|
||||
``` yaml
|
||||
apiVersion: chart API 版本 (必需)
|
||||
name: chart名称 (必需)
|
||||
version: 语义化2 版本(必需)
|
||||
kubeVersion: 兼容Kubernetes版本的语义化版本(可选)
|
||||
description: 一句话对这个项目的描述(可选)
|
||||
type: chart类型 (可选)
|
||||
keywords:
|
||||
- 关于项目的一组关键字(可选)
|
||||
home: 项目home页面的URL (可选)
|
||||
sources:
|
||||
- 项目源码的URL列表(可选)
|
||||
dependencies: # chart 必要条件列表 (可选)
|
||||
- name: chart名称 (nginx)
|
||||
version: chart版本 ("1.2.3")
|
||||
repository: (可选)仓库URL ("https://example.com/charts") 或别名 ("@repo-name")
|
||||
condition: (可选) 解析为布尔值的yaml路径,用于启用/禁用chart (e.g. subchart1.enabled )
|
||||
tags: # (可选)
|
||||
- 用于一次启用/禁用 一组chart的tag
|
||||
import-values: # (可选)
|
||||
- ImportValue 保存源值到导入父键的映射。每项可以是字符串或者一对子/父列表项
|
||||
alias: (可选) chart中使用的别名。当你要多次添加相同的chart时会很有用
|
||||
maintainers: # (可选)
|
||||
- name: 维护者名字 (每个维护者都需要)
|
||||
email: 维护者邮箱 (每个维护者可选)
|
||||
url: 维护者URL (每个维护者可选)
|
||||
icon: 用做icon的SVG或PNG图片URL (可选)
|
||||
appVersion: 包含的应用版本(可选)。不需要是语义化,建议使用引号
|
||||
deprecated: 不被推荐的chart (可选,布尔值)
|
||||
annotations:
|
||||
example: 按名称输入的批注列表 (可选).
|
||||
```
|
||||
|
||||
<br/>
|
||||
|
||||
## values.yaml
|
||||
### 预定义的 Values
|
||||
|
||||
Values通过模板中.Values对象可访问的values.yaml文件(或者通过 --set 参数)提供, 但可以模板中访问其他预定义的数据片段。
|
||||
|
||||
以下值是预定义的,对每个模板都有效,并且可以被覆盖。和所有值一样,名称 区分大小写。
|
||||
|
||||
- `Release.Name` : 版本名称(非chart的)
|
||||
- `Release.Namespace` : 发布的chart版本的命名空间
|
||||
- `Release.Service` : 组织版本的服务
|
||||
- `Release.IsUpgrade` : 如果当前操作是升级或回滚,设置为true
|
||||
- `Release.IsInstall` : 如果当前操作是安装,设置为true
|
||||
- `Chart` : Chart.yaml的内容。因此,chart的版本可以从 Chart.Version 获得, 并且维护者在Chart.Maintainers里。
|
||||
- `Files` : chart中的包含了非特殊文件的类图对象。这将不允许您访问模板, 但是可以访问现有的其他文件(除非被.helmignore排除在外)。 使用{{ index .Files "file.name" }}可以访问文件或者使用{{.Files.Get name }}功能。 您也可以使用{{ .Files.GetBytes }}作为[]byte访问文件内容。
|
||||
- `Capabilities` : 包含了Kubernetes版本信息的类图对象。({{ .Capabilities.KubeVersion }}) 和支持的Kubernetes API 版本({{ .Capabilities.APIVersions.Has "batch/v1" }})
|
||||
|
||||
注意: 任何未知的Chart.yaml字段会被抛弃。在Chart对象中无法访问。因此, Chart.yaml不能用于将任意结构的数据传递到模板中。不过values文件可用于此。
|
||||
|
||||
<br/>
|
||||
|
||||
## Values文件
|
||||
|
||||
考虑到后面部分的模板,values.yaml文件提供的必要值如下:
|
||||
|
||||
``` yaml
|
||||
imageRegistry: "quay.io/deis"
|
||||
dockerTag: "latest"
|
||||
pullPolicy: "Always"
|
||||
storage: "s3"
|
||||
```
|
||||
|
||||
<br/>
|
||||
|
||||
## Templates 模板文件
|
||||
|
||||
模板文件遵守书写Go模板的标准惯例(查看 文本/模板 Go 包文档了解更多)。 模板文件的例子看起来像这样:
|
||||
|
||||
``` yaml
|
||||
apiVersion: v1
|
||||
kind: ReplicationController
|
||||
metadata:
|
||||
name: deis-database
|
||||
namespace: deis
|
||||
labels:
|
||||
app.kubernetes.io/managed-by: deis
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
app.kubernetes.io/name: deis-database
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: deis-database
|
||||
spec:
|
||||
serviceAccount: deis-database
|
||||
containers:
|
||||
- name: deis-database
|
||||
image: {{ .Values.imageRegistry }}/postgres:{{ .Values.dockerTag }}
|
||||
imagePullPolicy: {{ .Values.pullPolicy }}
|
||||
ports:
|
||||
- containerPort: 5432
|
||||
env:
|
||||
- name: DATABASE_STORAGE
|
||||
value: {{ default "minio" .Values.storage }}
|
||||
```
|
||||
|
||||
# 参考资料
|
||||
|
||||
- [官方文档 *https://helm.sh/zh/docs/topics/charts*](https://helm.sh/zh/docs/topics/charts)
|
||||
|
||||
8
description/values.yaml
Normal file
8
description/values.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
Release.Name: 版本名称(非chart的)
|
||||
Release.Namespace: 发布的chart版本的命名空间
|
||||
Release.Service: 组织版本的服务
|
||||
Release.IsUpgrade: 如果当前操作是升级或回滚,设置为true
|
||||
Release.IsInstall: 如果当前操作是安装,设置为true
|
||||
Chart: Chart.yaml的内容。因此,chart的版本可以从 Chart.Version 获得, 并且维护者在Chart.Maintainers里。
|
||||
Files: chart中的包含了非特殊文件的类图对象。这将不允许您访问模板, 但是可以访问现有的其他文件(除非被.helmignore排除在外)。 使用{{ index .Files "file.name" }}可以访问文件或者使用{{.Files.Get name }}功能。 您也可以使用{{ .Files.GetBytes }}作为[]byte访问文件内容。
|
||||
Capabilities: 包含了Kubernetes版本信息的类图对象。({{ .Capabilities.KubeVersion }}) 和支持的Kubernetes API 版本({{ .Capabilities.APIVersions.Has "batch/v1" }}
|
||||
Reference in New Issue
Block a user