Hai,
Saya mengalami masalah saat mencoba menerapkan peta konfigurasi menggunakan helm. Masalah dijelaskan sebagai berikut.
Mari kita asumsikan saya memiliki bagan helm yang memiliki struktur map sebagai berikut.
├── grafik
├── Bagan.yaml
├── conf
│ └── tee.xml
├── template
│ └── ConfigMap.yaml
└── nilai.yaml
tee.xml ditampilkan di bawah.
<note>
<to>Tove</to>
<from>${name}</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
ConfigMap.yaml ditampilkan di bawah ini.
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 }}
bagian dari values.yaml ditampilkan di bawah ini.
from: Shashi
Ketika saya menjalankan perintah helm install, saya ingin mengganti nilai ${name}
yang terletak di file tee.xml ( <from>${name}</from>
) dari nilai yang ditetapkan di values.yaml. Apakah ini mungkin menggunakan helm dan jika memungkinkan dapatkah Anda membantu saya untuk melakukan perubahan yang relevan?
Hai,
Saya dapat menemukan solusi untuk masalah di atas dengan menggunakan "ganti". Saya telah melampirkan file helm yang relevan di bawah ini.
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>
Bagian dari values.yaml
from: Cigra
Dengan menjalankan instalasi helm kita dapat membuat config map yang menggantikan kunci "
Tolong beritahu saya ini cara yang benar?
Jika berhasil, itu berhasil. Menggunakan replace
untuk mengganti setiap substring dalam string yang diberikan terdengar masuk akal bagi saya.
Saya setuju - menggunakan replace
terdengar seperti opsi yang cukup bagus dalam kasus ini.
@KavinduZoysa mengingat solusi ini berhasil, izinkan saya melanjutkan dan menutup masalah ini. Jangan ragu untuk membuka kembali jika ini tidak berfungsi seperti yang diharapkan atau jika Anda memiliki pertanyaan terkait lainnya. Terima kasih!
Komentar yang paling membantu
Hai,
Saya dapat menemukan solusi untuk masalah di atas dengan menggunakan "ganti". Saya telah melampirkan file helm yang relevan di bawah ini.
ConfigMap.yaml
tee.xml
Bagian dari values.yaml
from: Cigra
Dengan menjalankan instalasi helm kita dapat membuat config map yang menggantikan kunci "John "dari kata" Cigra "
Tolong beritahu saya ini cara yang benar?