์๋
ํ์ธ์,
Helm์ ์ฌ์ฉํ์ฌ configmap์ ๋ฐฐํฌํ๋ ค๊ณ ํ ๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋ฌธ์ ๋ ๋ค์๊ณผ ๊ฐ์ด ์ค๋ช
๋ฉ๋๋ค.
๋ค์๊ณผ ๊ฐ์ ํด๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง helm ์ฐจํธ๊ฐ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
โโโ ์ฐจํธ
โโโ Chart.yaml
โโโ conf
โ โโโ tee.xml
โโโ ํ
ํ๋ฆฟ
โ โโโ ConfigMap.yaml
โโโ values.yaml
tee.xml์ ์๋์ ๊ฐ์ต๋๋ค.
<note>
<to>Tove</to>
<from>${name}</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
ConfigMap.yaml์ ์๋์ ๊ฐ์ต๋๋ค.
apiVersion: v1
kind: ConfigMap
metadata:
name: mytest-var
xml:
{{ .Values.from }}
data:
{{- $file := .Files }}
{{- $var := .Values.from }}
{{- range $path, $byte := .Files.Glob "conf/*" }}
{{- $list := $path | splitList "/"}}
{{- $length := len $list }}
{{- $last := add $length -1 }}
{{ index $list $last }}: |-
{{- range $file.Lines $path }}
{{ . }}
{{- end }}
{{- end }}
values.yaml์ ์ผ๋ถ๋ ์๋์ ๊ฐ์ต๋๋ค.
from: Shashi
๋๋ ์กฐํ ์ฅ์น๊ฐ ์ค์น ๋ช
๋ น์ ์คํํ๋ฉด, ๋ด๊ฐ ๋์ฒดํ๋ ค๋ ๊ฐ ${name}
tee.xml ํ์ผ (์ ์์นํ <from>${name}</from>
values.yaml์ ์ค์ ๋์ด์๋ ๊ฐ์์์ด). helm์ ์ฌ์ฉํ์ฌ ๊ฐ๋ฅํฉ๋๊น? ๊ฐ๋ฅํ๋ค๋ฉด ๊ด๋ จ ๋ณ๊ฒฝ ์์
์ ๋์ ์ฃผ์๊ฒ ์ต๋๊น?
์๋ ํ์ธ์,
"๊ต์ฒด"๋ฅผ ์ฌ์ฉํ์ฌ ์์ ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ์ฑ ์ ์ฐพ์ ์์์์ต๋๋ค. ์๋์ ๊ด๋ จ helm ํ์ผ์ ์ฒจ๋ถํ์ต๋๋ค.
ConfigMap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: mytest-var
xml:
{{ .Values.from }}
data:
{{- $file := .Files }}
{{- $var := .Values.from }}
{{- range $path, $byte := .Files.Glob "conf/*" }}
{{- $list := $path | splitList "/"}}
{{- $length := len $list }}
{{- $last := add $length -1 }}
{{ index $list $last }}: |-
{{- range $line := $file.Lines $path }}
{{ $line | replace "John" $var }}
{{- end }}
{{- end }}
tee.xml
<note>
<to>Tove</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
values.yaml์ ์ผ๋ถ
from: Cigra
helm install์ ์คํํ์ฌ ""ํค๋ก ๋์ฒด๋๋ ๊ตฌ์ฑ ๋งต์ ๋ง๋ค ์ ์์ต๋๋ค.
์ด๊ฒ์ด ์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ๋งํด์ฃผ์ธ์.
์๋ํ๋ฉด ์๋ํฉ๋๋ค. replace
๋ฅผ ์ฌ์ฉํ์ฌ ์ฃผ์ด์ง ๋ฌธ์์ด ๋ด์์ ํ์ ๋ฌธ์์ด์ ๋ชจ๋ ์ธ์คํด์ค๋ฅผ ๋์ฒดํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ผ๋ก ๋ค๋ฆฝ๋๋ค.
๋์ํฉ๋๋ค. replace
์์ด ๊ฒฝ์ฐ ๊ฝค ์ข์ ์ต์
์ฒ๋ผ ๋ค๋ฆฝ๋๋ค.
@KavinduZoysa ์ด ์๋ฃจ์ ์ด ์๋ํ๋ฉด์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ฒ ์ต๋๋ค. ์ด๊ฒ์ด ์์๋๋ก ์๋ํ์ง ์๊ฑฐ๋ ๋ค๋ฅธ ๊ด๋ จ ์ง๋ฌธ์ด์๋ ๊ฒฝ์ฐ ์ธ์ ๋ ์ง ๋ค์์ฌ์ญ์์ค. ๊ฐ์ฌ!
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์๋ ํ์ธ์,
"๊ต์ฒด"๋ฅผ ์ฌ์ฉํ์ฌ ์์ ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ์ฑ ์ ์ฐพ์ ์์์์ต๋๋ค. ์๋์ ๊ด๋ จ helm ํ์ผ์ ์ฒจ๋ถํ์ต๋๋ค.
ConfigMap.yaml
tee.xml
values.yaml์ ์ผ๋ถ
from: Cigra
helm install์ ์คํํ์ฌ ""ํค๋ก ๋์ฒด๋๋ ๊ตฌ์ฑ ๋งต์ ๋ง๋ค ์ ์์ต๋๋ค.๋จ์ ""Cigra "๋ผ๋ ๋จ์ด์์
์ด๊ฒ์ด ์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ๋งํด์ฃผ์ธ์.