真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用chart模板

本篇文章給大家分享的是有關(guān)如何使用chart模板,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、黃南州網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5建站、商城網(wǎng)站制作、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為黃南州等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

Helm 通過模板創(chuàng)建 Kubernetes 能夠理解的 YAML 格式的資源配置文件,我們將通過例子來學(xué)習(xí)如何使用模板。

以 templates/secrets.yaml 為例:

如何使用chart模板

從結(jié)構(gòu)看,文件的內(nèi)容非常像 Secret 配置,只是大部分屬性值變成了{{ xxx }}。這些 {{ xxx }} 實(shí)際上是模板的語法。Helm 采用了 Go 語言的模板來編寫 chart。Go 模板非常強(qiáng)大,支持變量、對象、函數(shù)、流控制等功能。下面我們通過解析 templates/secrets.yaml 快速學(xué)習(xí)模板。

① {{ template "MySQL.fullname"> 定義 Secret 的 name
關(guān)鍵字 template 的作用是引用一個(gè)子模板 mysql.fullname。這個(gè)子模板是在 templates/_helpers.tpl 文件中定義的。

如何使用chart模板

這個(gè)定義還是很復(fù)雜的,因?yàn)樗玫搅四0逭Z言中的對象、函數(shù)、流控制等概念?,F(xiàn)在看不懂沒關(guān)系,這里我們學(xué)習(xí)的重點(diǎn)是:如果存在一些信息多個(gè)模板都會(huì)用到,則可在 templates/_helpers.tpl 中將其定義為子模板,然后通過 templates 函數(shù)引用。

這里 mysql.fullname 是由 release 與 chart 二者名字拼接組成。

根據(jù) chart 的最佳實(shí)踐,所有資源的名稱都應(yīng)該保持一致,對于我們這個(gè) chart,無論 Secret 還是 Deployment、PersistentVolumeClaim、Service,它們的名字都是子模板 mysql.fullname 的值。

② Chart 和 Release 是 Helm 預(yù)定義的對象,每個(gè)對象都有自己的屬性,可以在模板中使用。如果使用下面命令安裝 chart:

helm install stable/mysql -n my

那么:
{{ .Chart.Name }} 的值為 mysql。
{{ .Chart.Version }} 的值為 0.3.0。
{{ .Release.Name }} 的值為 my
{{ .Release.Service }} 始終取值為 Tiller。
{{ template "mysql.fullname"> 計(jì)算結(jié)果為 my-mysql。

③ 這里指定 mysql-root-password 的值,不過使用了 if-else 的流控制,其邏輯為:
如果 .Values.mysqlRootPassword 有值,則對其進(jìn)行 base64 編碼;否則隨機(jī)生成一個(gè) 10 位的字符串并編碼。

Values 也是預(yù)定義的對象,代表的是 values.yaml 文件。而 .Values.mysqlRootPassword 則是 values.yaml 中定義的 mysqlRootPassword 參數(shù):

如何使用chart模板

因?yàn)?nbsp;mysqlRootPassword 被注釋掉了,沒有賦值,所以邏輯判斷會(huì)走 else,即隨機(jī)生成密碼。

randAlphaNumb64enc、quote 都是 Go 模板語言支持的函數(shù),函數(shù)之間可以通過管道 | 連接。{{ randAlphaNum 10 | b64enc | quote }} 的作用是首先隨機(jī)產(chǎn)生一個(gè)長度為 10 的字符串,然后將其 base64 編碼,最后兩邊加上雙引號(hào)。

templates/secrets.yaml 這個(gè)例子展示了 chart 模板主要的功能,我們最大的收獲應(yīng)該是:模板將 chart 參數(shù)化了,通過 values.yaml 可以靈活定制應(yīng)用。

無論多復(fù)雜的應(yīng)用,用戶都可以用 Go 模板語言編寫出 chart。無非是使用到更多的函數(shù)、對象和流控制。對于初學(xué)者,我的建議是盡量參考官方的 chart。根據(jù)二八定律,這些 chart 已經(jīng)覆蓋了絕大部分情況,而且采用了最佳實(shí)踐。

以上就是如何使用chart模板,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


網(wǎng)頁題目:如何使用chart模板
當(dāng)前網(wǎng)址:http://weahome.cn/article/pihihd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部