chart 目录结构 - 每天5分钟玩转 Docker 容器技术(164)
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
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
NO.6 使用这些来帮助我们更高效率的运维
Hello,大家好,这是第六期 上云用户必看期刊,本期我们主打高效率的运维和一些常用技术做分享。 首先是提高运维效率的一些好文 通过Web界面在多台服务器上批量创建文件https://yq.aliyun.com/articles/575064?spm=a2c4e.11153940.bloghomeflow.647.5089291a4ez4l7 【优化】创建安全组时支持同步创建规则https://yq.aliyun.com/articles/582878?spm=a2c4e.11153940.bloghomeflow.256.5089291a4ez4l7 按量付费转包年包月之批量操作篇https://yq.aliyun.com/articles/583767?spm=a2c4e.11153940.bloghomeflow.205.5089291a4ez4l7 《实践篇--阿里迁云工具使用》https://yq.aliyun.com/articles/586777?spm=a2c4e.11153940.bloghomeflow.65.5089291a4ez4l7 使用docker搭建wor...
- 下一篇
如何在 Kubernetes 环境中搭建 MySQL (一):简介
MySQL in Kubernetes 最近因为工作上的需求,搭建了一套部署在 Kubernetes 环境中的 MySQL,可能听起来就是让 MySQL 的 docker image 跑在 Kubernetes 里,应该没什么难度,可实际操作起来,这其实是相当复杂的一个工程:首先要有 Kubernetes 集群,才能谈得到部署应用进去;其次,MySQL 不同于无状态的应用,其中的数据是非常关键的,必须要保证其可用性,这就要求必须有高可靠性的存储集群来存储数据;再者由于众所周知的网络原因,Kubernetes 和 docker 相关的镜像想拿到非常不方便;最后,MySQL 在 cloud native 环境同样需要做主备和高可用的配置。 我计划写一系列文章将自己的经验总结出来,从头到位将这一系列事情讲清楚,并尽量保证感兴趣的朋友可以按照我写的步骤将一个可用的环境搭建出来。 目录 以下是我以后写作的计划和链接,欢迎大家多提意见: 一:简介 二:在 cloud native 环境下配置 MySQL 的几个关键点 三:使用 minikube 部署单节点 Kubernet...
相关文章
文章评论
共有0条评论来说两句吧...