chart 目录结构 - 天天5分钟玩转 Docker 容器技术(164)

chart 是 Helm 的应用打包格式。chart 由一系列文件组成,这些文件描述了 Kubernetes 部署应用时所须要的资源,好比 Service、Deployment、PersistentVolumeClaim、Secret、ConfigMap 等。html

单个的 chart 能够很是简单,只用于部署一个服务,好比 Memcached;chart 也能够很复杂,部署整个应用,好比包含 HTTP Servers、 Database、消息中间件、cache 等。mysql

chart 将这些文件放置在预约义的目录结构中,一般整个 chart 被打成 tar 包,并且标注上版本信息,便于 Helm 部署。sql

下面咱们将详细讨论 chart 的目录结构以及包含的各种文件。ui

chart 目录结构

之前面 MySQL chart 为例。一旦安装了某个 chart,咱们就能够在 ~/.helm/cache/archive 中找到 chart 的 tar 包。spa

解压后,MySQL chart 目录结构以下:3d

目录名就是 chart 的名字(不带版本信息),这里是 mysql,包含以下内容:code

Chart.yaml 
YAML 文件,描述 chart 的概要信息。htm

name 和 version 是必填项,其余都是可选。中间件

README.md 
Markdown 格式的 README 文件,至关于 chart 的使用文档,此文件为可选。blog

LICENSE 
文本文件,描述 chart 的许可信息,此文件为可选。

requirements.yaml 
chart 可能依赖其余的 chart,这些依赖关系可经过 requirements.yaml 指定,好比:

在安装过程当中,依赖的 chart 也会被一块儿安装。

values.yaml 
chart 支持在安装的时根据参数进行定制化配置,而 values.yaml 则提供了这些配置参数的默认值。

templates 目录 
各种 Kubernetes 资源的配置模板都放置在这里。Helm 会将 values.yaml 中的参数值注入到模板中生成标准的 YAML 配置文件。

模板是 chart 最重要的部分,也是 Helm 最强大的地方。模板增长了应用部署的灵活性,可以适用不一样的环境,咱们后面会详细讨论。

templates/NOTES.txt 
chart 的简易使用文档,chart 安装成功后会显示此文档内容。

与模板同样,能够在 NOTE.txt 中插入配置参数,Helm 会动态注入参数值。

下一节咱们详细讨论 chart 模板的用法。

书籍:

1.《天天5分钟玩转Kubernetes》
https://item.jd.com/26225745440.html

2.《天天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html

3.《天天5分钟玩转OpenStack》
https://item.jd.com/12086376.html

相关文章
相关标签/搜索