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

单个的 chart 可以非常简单,只用于部署一个服务,比如 Memcached;chart 也可以很复杂,部署整个应用,比如包含 HTTP Servers、 Database、消息中间件、cache 等。

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

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

chart 目录结构

以前面 MySQL chart 为例。一旦安装了某个 chart,我们就可以在 ~/.helm/cache/archive 中找到 chart 的 tar 包。

解压后,MySQL chart 目录结构如下:

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

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

name 和 version 是必填项,其他都是可选。

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

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

最新文章

  1. springmvc 配置01
  2. 视频分享:过五关斩六将——我要做IT面霸!
  3. jquery 最简单的动画效果
  4. Codeforces Round #327 (Div. 2)-Wizards' Duel
  5. window.top、window.parent
  6. 解决“重新安装vmware-tools”灰色而无法安装的问题
  7. useradd adduser linux创建用户、设置密码、修改用户、删除用户
  8. 纯Html+Ajax和JSP两者对比的个人理解
  9. Java SSH框架学习(入门)
  10. vim使用(三):.viminfo和.vimrc
  11. VS2015 查看类之间的继承关系
  12. web开发性能优化---分布式篇
  13. C#基础加强(8)之委托和事件
  14. Js高级 事件 对象
  15. u-boot中debug的一些总结
  16. CentOS7 卸载mariadb 安装mysql的过程:
  17. python 移动文件夹
  18. 学JS的心路历程-JS支持面向对象?(二)
  19. 【BZOJ3489】A simple rmq problem(KD-Tree)
  20. timerTask任务定时器

热门文章

  1. Java-IO之管道(PipedInputStream和PipedOutputStream)
  2. ADFS3.0 Customizing the AD FS Sign-in Pages
  3. 软考之路--从生活着手,看PV如何操作
  4. 基于HTTP头部的注入
  5. ROS_Kinetic_02 ROS Kinetic 迁移指南及中文wiki指南(Migration guide)
  6. OTA和Recovery系统升级流程介绍
  7. 从Perforce到Git的迁移
  8. UNIX环境高级编程——标准I/O库
  9. java的map
  10. shell的date