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

author author     2022-11-10     192

关键词:

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

技术分享图片


开发自己的chart-每天5分钟玩转docker容器技术(167)

...eatemychart 的命令创建chart mychart:Helm会帮我们创建目录 mychart,并生成了各类chart文件。这样我们就可以在此基础上开发自己的chart了。新建的chart默认包 查看详情

开发自己的chart-每天5分钟玩转docker容器技术(167)

...eatemychart 的命令创建chart mychart:Helm会帮我们创建目录 mychart,并生成了各类chart文件。这样我们就可以在此基础上开发自己的chart了。新建的chart默认包 查看详情

每天5分钟玩转容器技术整理目录

原 写在最前面-每天5分钟玩转容器技术(1)容器生态系统-每天5分钟玩转容器技术(2) 容器生态系统(续)-每天5分钟玩转容器技术(3)运行第一个容器-每天5分钟玩转容器技术(4)【视频】运行第一个容器-每天5分钟玩... 查看详情

helm架构-每天5分钟玩转docker容器技术(161)

在实践之前,我们先来看看Helm的架构。Helm有两个重要的概念:chart和release。chart是创建一个应用的信息集合,包括各种Kubernetes对象的配置模板、参数定义、依赖关系、文档说明等。chart是应用部署的自包含逻辑单元。可以将chart... 查看详情

helm架构-每天5分钟玩转docker容器技术(161)

在实践之前,我们先来看看Helm的架构。Helm有两个重要的概念:chart和release。chart是创建一个应用的信息集合,包括各种Kubernetes对象的配置模板、参数定义、依赖关系、文档说明等。chart是应用部署的自包含逻辑单元。可以将chart... 查看详情

weave网络结构分析-每天5分钟玩转docker容器技术(64)

...我们安装并创建了Weave网络,本节将部署容器并分析网络结构。在host1中运行容器bbox1:eval$(weaveenv)dockerrun--namebbox1-itdbusybox 首先执行 eval$(weaveenv) 很重要,其作用是将后续的docker命令发给weaveproxy处理。如果要恢复之前... 查看详情

weave网络结构分析-每天5分钟玩转docker容器技术(64)

...我们安装并创建了Weave网络,本节将部署容器并分析网络结构。在host1中运行容器bbox1:eval$(weaveenv)dockerrun--namebbox1-itdbusybox 首先执行 eval$(weaveenv) 很重要,其作用是将后续的docker命令发给weaveproxy处理。如果要恢复之前... 查看详情

最小的镜像-每天5分钟玩转容器技术

...排如下:首先通过研究几个典型的镜像,分析镜像的内部结构。然后学习如何构建自己的镜像。最后介绍怎样管理和分发镜像。镜像的内部结构为什么我们要讨论镜像的内部结构?如果只是使用镜像,当然不需要了解,直接通过... 查看详情

最小的镜像-每天5分钟玩转容器技术

...排如下:首先通过研究几个典型的镜像,分析镜像的内部结构。然后学习如何构建自己的镜像。最后介绍怎样管理和分发镜像。镜像的内部结构为什么我们要讨论镜像的内部结构?如果只是使用镜像,当然不需要了解,直接通过... 查看详情

最小的镜像-每天5分钟玩转容器技术

...排如下:首先通过研究几个典型的镜像,分析镜像的内部结构。然后学习如何构建自己的镜像。最后介绍怎样管理和分发镜像。镜像的内部结构为什么我们要讨论镜像的内部结构?如果只是使用镜像,当然不需要了解,直接通过... 查看详情

docker的两类存储资源-每天5分钟玩转docker容器技术(38)

...。storagedriver在前面镜像章节我们学习到Docker镜像的分层结构,简单回顾一下。容器由最上面一个可写的容器层,以及若干只读的镜像层组成,容器的数据就存放在这些层中。这样的分层结构最大的特性是Copy-on 查看详情

calico的网络结构是什么?-每天5分钟玩转docker容器技术(68)

...我们部署了Calico网络,今天将运行容器并分析Calico的网络结构。在host1中运行容器bbox1并连接到cal_net1:dockercontainerrun--netcal_net1--namebbox1-tidbusybox查看bbox1的网络配置。cali0 是calicointerface,分配的IP为 192.168.119.2。cali0对应host... 查看详情

calico的网络结构是什么?-每天5分钟玩转docker容器技术(68)

上一节我们部署了Calico网络,今天将运行容器并分析Calico的网络结构。在host1中运行容器bbox1并连接到cal_net1:dockercontainerrun--netcal_net1--namebbox1-tidbusybox查看bbox1的网络配置。650)this.width=650;"title="http://7xo6kd.com1.z0.glb.clouddn.com/u 查看详情

datavolume之bindmount-每天5分钟玩转docker容器技术(39)

...开始讨论DataVolume。DataVolume本质上是DockerHost文件系统中的目录或文件,能够直接被mount到容器的文件系统中。DataVolume有以下特点:DataVolume是目录或文件,而非没有格式化的磁盘(块设备)。容器可以读写volume中的数据。vo 查看详情

datavolume之bindmount-每天5分钟玩转docker容器技术(39)

...开始讨论DataVolume。DataVolume本质上是DockerHost文件系统中的目录或文件,能够直接被mount到容器的文件系统中。DataVolume有以下特点:DataVolume是目录或文件,而非没有格式化的磁盘(块设备)。容器可以读写volume中的数据。vo 查看详情

docker镜像小结-每天5分钟玩转docker容器技术(21)

...Docker镜像做个小结。这一部分我们首先讨论了镜像的分层结构,然后学习了如何构建镜像,最后实践使用DockerHub和本地registry。下面是镜像的常用操作子命令:images  显示镜像列表history 显示镜像构建历史commit  ... 查看详情

docker镜像小结-每天5分钟玩转docker容器技术(21)

...Docker镜像做个小结。这一部分我们首先讨论了镜像的分层结构,然后学习了如何构建镜像,最后实践使用DockerHub和本地registry。下面是镜像的常用操作子命令:images  显示镜像列表history 显示镜像构建历史commit  ... 查看详情

如何共享数据?-每天5分钟玩转docker容器技术(41)

...式有所区别。对于bindmount是非常明确的:直接将要共享的目录mount到容器。具体请参考前面httpd的例子,不再赘述。dockermanagedvolume就要麻烦点。由 查看详情