Salut,
Je rencontre un problème lorsque j'essaye de déployer une configuration en utilisant helm. Le problème est expliqué comme suit.
Supposons que j'ai un diagramme de barre qui a la structure de dossier comme suit.
├── graphiques
├── Chart.yaml
├── conf
│ └── tee.xml
├── modèles
│ └── ConfigMap.yaml
└── values.yaml
tee.xml est illustré ci-dessous.
<note>
<to>Tove</to>
<from>${name}</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
ConfigMap.yaml est illustré ci-dessous.
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 }}
une partie de values.yaml est affichée ci-dessous.
from: Shashi
Lorsque j'exécute la commande helm install, je souhaite remplacer la valeur ${name}
qui se trouve dans le fichier tee.xml ( <from>${name}</from>
) par une valeur définie dans values.yaml. Est-ce possible avec la barre et si c'est possible pouvez-vous m'aider s'il vous plaît à faire les changements nécessaires?
Salut,
J'ai pu trouver la solution au problème ci-dessus en utilisant "remplacer". J'ai joint les fichiers de barre pertinents ci-dessous.
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>
Fait partie de values.yaml
from: Cigra
En exécutant helm install, nous pouvons créer la carte de configuration qui remplace la clé "
S'il vous plaît dites-moi que c'est la bonne façon?
Si ça marche, ça marche. Utiliser replace
pour remplacer chaque instance d'une sous-chaîne dans une chaîne donnée me semble judicieux.
Je suis d'accord - utiliser replace
semble être une très bonne option dans ce cas.
@KavinduZoysa étant donné que cette solution fonctionne, laissez-moi terminer ce problème. N'hésitez pas à rouvrir si cela n'a pas fonctionné comme prévu ou si vous avez d'autres questions connexes. Merci!
Commentaire le plus utile
Salut,
J'ai pu trouver la solution au problème ci-dessus en utilisant "remplacer". J'ai joint les fichiers de barre pertinents ci-dessous.
ConfigMap.yaml
tee.xml
Fait partie de values.yaml
from: Cigra
En exécutant helm install, nous pouvons créer la carte de configuration qui remplace la clé "John "du mot" Cigra "
S'il vous plaît dites-moi que c'est la bonne façon?