Helm目錄結構講解
一個Charts就是按特定格式組織的目錄結構,目錄名即為Charts名,目錄名稱本身不包含版本資訊。目錄結構中除了charts/和templates/是目錄之外,其他的都是檔案。它們的基本功用如下。
Chart.yaml:當前Charts的描述資訊,yaml格式的檔案。
LICENSE:當前Charts的許可證資訊,純文字檔案;此為可選檔案。
README.md:易讀格式的README檔案;可選。
requirements.yaml:當前Charts的依賴關係描述檔案;可選。
values.yaml:當前Charts用到的預設配置值。
charts/:目錄,存放當前Charts依賴到的所有Charts檔案。
templates/:目錄,存放當前Charts用到的模板檔案,可應用於Charts生成有效的Kuber-netes清單檔案。
templates/NOTES.txt:純文字檔案,Templates簡單使用註解
儘管Charts和Templates目錄均為可選,但至少應該存在一個Charts依賴檔案或一個模板檔案。另外,Helm保留使用charts/和templates/目錄以及上面列出的檔名稱,其他檔案都將被忽略。
Chart.yaml用於提供Charts相關的各種後設資料,如名稱、版本、關鍵詞、維護者資訊、使用的模板引擎等,它是一個Charts必備的核心檔案,主要包含以下欄位。
name:當前Charts的名稱,必選欄位。
version:遵循語義化版本規範第2版的版本號,必選欄位。
description:當前專案的單語句描述資訊,可選欄位。
keywords:當前專案的關鍵詞列表,可選欄位。
home:當前專案的主頁URL,可選欄位。
sources:當前專案用到的原始碼的來源URL列表,可選欄位。
maintainers:專案維護者資訊,主要巢狀name、email和URL幾個屬性組成;可選欄位。
engine:模板引擎的名稱,預設為gotpl,即go模板。
icon:URL,指向當前專案的圖示,SVG或PNG格式的圖片;可選欄位。
appVersion:本專案用到的應用程式的版本號,可選欄位,且不必為語義化版本。
tillerVersion:當前Charts依賴的Tiller版本號,可以是語義化版本號的範圍,如“>2.4.0”;可選欄位。
Helm中的一個Charts可能會依賴不止一個其他的Charts,這種依賴關係可經requirements.yaml進行動態連結,也可直接儲存於charts/目錄中進行手動管理。
requirements.yaml檔案
requirements.yaml檔案本質上只是一個簡單的依賴關係列表,可用欄位具體如下。
name:被依賴的Charts的名稱。
version:被依賴的Charts的版本。
repository:被依賴的Charts所屬的倉庫及其URL;如果是非官方的倉庫,則需要先用helm。
repo add 將其新增進本地可用倉庫。
alias:為被依賴的Charts建立一個別名,從而讓當前Charts可以將所依賴的Charts對應到新名稱,即別名;可選欄位。
tags:預設情況下所有的Charts都會被裝載,若給定了tags,則僅裝載那些匹配到的Charts。
condition:類似於tags欄位,但需要透過自定義的條件來指明要裝載的charts。
import-values:匯入子Charts中的的值;被匯入的值需要在子charts中匯出。
若需要對依賴關係進行更多的控制,則所有被依賴到的Charts都能以手工方式直接複製到Charts目錄中。一個被依賴到的Charts既可以是歸檔格式,也可以是展開的目錄格式,不過,其名稱不能以下劃線(_)或點號(.)開頭,此類檔案會被Charts裝載器自動忽略。
例如,Wordpress Charts依賴關係在其Charts目錄中的反映類似如下所示:
Charts模板(template)遵循Go模板語言格式,並支援50種以上的來自Spring庫的模板函式附件,以及為數不少的其他專用函式。所有的模板檔案都儲存於Templates目錄中,在當前Charts被Helm引用時,此目錄中的所有模板檔案都會傳遞給模板引擎進行處理。模板檔案中用到的值(value)有如下兩種提供方式。□透過Charts的values.yaml檔案提供,通常用於提供預設值。□在執行“helm install” 時傳遞包含所需要的自定義值的YAML檔案;此處傳遞的值會覆蓋預設值。
原文來自: https://www.cuiliangblog.cn/blog/show-112/
本文地址:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2743835/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 11_Linux目錄結構講解Linux
- vue-cli 目錄結構詳細講解Vue
- fabric 目錄結構
- Tomcat目錄結構Tomcat
- PostgreSQL 目錄結構SQL
- Android 目錄結構分析Android
- 分析Angular目錄結構Angular
- Tomcat目錄結構解析Tomcat
- 系統目錄結構
- django的目錄結構Django
- linux的目錄結構Linux
- 程式碼目錄結構記錄
- Nginx目錄結構與配置檔案詳解Nginx
- 伺服器與目錄結構深入瞭解伺服器
- 初識Linux目錄結構Linux
- Linux 目錄結構:/lib 分析Linux
- PostgreSQL:原始碼目錄結構SQL原始碼
- 2.3 sqlmap目錄及結構SQL
- SpringBoot中的目錄結構Spring Boot
- postgre目錄結構簡介
- linux文件和目錄結構Linux
- Ubuntu系統目錄結構Ubuntu
- (一)Linux之目錄結構Linux
- ThinkPHP5.0目錄結構PHP
- Docker映象的目錄儲存講解Docker
- (2)caffe總結之目錄結構
- DedeCMS模板目錄的檔案目錄結構
- Electron系列文章-程式目錄結構
- Linux學習——2 目錄結構Linux
- JHipster一知半解- 4.6.1 webapp-目錄結構WebAPP
- Android Studio目錄結構及工程專案結構解析Android
- Linux之旅第一篇-目錄結構及操作目錄Linux
- 第一講、建立執行Vue3.x專案、分析Vue目錄結構Vue
- Kubernetes原始碼系列:Kubernetes目錄結構原始碼
- EOS原始碼分析(7)目錄結構原始碼
- 8.6 規劃合理的目錄結構
- DB2目錄結構簡介DB2
- Linux檔案系統目錄結構Linux