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 目錄結構以下:code

目錄名就是 chart 的名字(不帶版本信息),這裏是 mysql,包含以下內容:orm

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

相關文章
相關標籤/搜索