1 回答

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個(gè)贊
這可以通過(guò)全局值來(lái)解決,全局值允許父圖表中的值覆蓋(或提供未指定的)子子圖表中的值。
來(lái)自關(guān)于子圖和全局值的 Helm 文檔:
子圖被視為“獨(dú)立”,這意味著子圖永遠(yuǎn)不能顯式依賴(lài)于其父圖。
因此,子圖無(wú)法訪(fǎng)問(wèn)其父圖的值。
父圖表可以覆蓋子圖表的值。
Helm 有一個(gè)全局值的概念,所有圖表都可以訪(fǎng)問(wèn)它。
(起初我并沒(méi)有想到要搜索“helm subchart”,但當(dāng)我在互聯(lián)網(wǎng)上搜索該術(shù)語(yǔ)時(shí),這是第一個(gè)或第二個(gè)結(jié)果)
這是解決您的問(wèn)題的最小示例:
目錄結(jié)構(gòu)
helm
├── Chart.yaml
├── charts
│? ?└── chart_a
│? ? ? ?├── Chart.yaml
│? ? ? ?└── templates
│? ? ? ? ? ?└── configMap.yml
├── templates
│? ?└── _helpers.tpl
└── values.yaml
注意:我添加了Chart.yaml文件以使其實(shí)際工作,重命名values.yml為values.yaml,以便它默認(rèn)工作而無(wú)需額外的標(biāo)志,并刪除requirements.yml,因?yàn)闆](méi)有必要重現(xiàn)問(wèn)題和解決方案。
values.yaml
global:
? ldap:
? ? enabled: true
? ? type: opendj
? ? extraHosts:
? ? - host: opendj
? ? ? port: 3434
? ldapType: xxx
? ldapPort: 123
關(guān)鍵是將你擁有的東西嵌套在一個(gè)特殊的global鍵下。請(qǐng)注意,我還添加了ldapType和 ,ldapPort因?yàn)樗鼈冊(cè)谀?中_helpers.tpl,并且我修復(fù)了您在 下的 YAML 結(jié)構(gòu)extraHosts。host之前的內(nèi)容實(shí)際上并不代表帶有和鍵的地圖列表port。如果沒(méi)有此修復(fù),該helm命令不會(huì)失敗,但也不會(huì)輸出您想要的內(nèi)容。
結(jié)果
$ helm template .
---
# Source: helm/charts/chart_a/templates/configMap.yml
apiVersion: v1
kind: ConfigMap
metadata:
? name: cm
data:
? GLUU_LDAP_URL: release-name-xxx:123,opendj:3434
- 1 回答
- 0 關(guān)注
- 214 瀏覽
添加回答
舉報(bào)