我尝试将 json 文件导入到 configmap 中,但该映射不包含该文件。
我的 ConfigMap 模板:
apiVersion: v1
kind: ConfigMap
metadata:
name: serilog-configmap
data:
serilog.json: |-
{{ .Files.Get "serilog.json" | indent 4}}
Run Code Online (Sandbox Code Playgroud)
serilog.json 位于项目的根路径中,有一个包含图表和模板的子目录(来自 helm create )。
我也试过“../../serilog.json”和完整路径作为文件名,但当我运行 helm install --debug --dry-run 时,它总是以相同的结果结束。
---
# Source: hellowebapi/templates/serilogConfigMap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: serilog-configmap
data:
serilog.json: |-
---
Run Code Online (Sandbox Code Playgroud)
我希望:
---
# Source: hellowebapi/templates/serilogConfigMap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: serilog-configmap
data:
serilog.json: |-
{
"Serilog": {
"Using": [
"Serilog.Sinks.ColoredConsole"
],
...
---
Run Code Online (Sandbox Code Playgroud)
谁能告诉我我哪里出错了?
小智 15
尝试这个 :
---
apiVersion: v1
kind: ConfigMap
metadata:
name: serilog-configmap
data:
serilog.json: |-
{{- $.Files.Get "configurations/serilog.json" | nindent 6 -}}
Run Code Online (Sandbox Code Playgroud)
带有 json 文件的相对路径 ( hellowebapi/configurations/serilog.json)
它将产生:
---
# Source: serilog/templates/test.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: serilog-configmap
data:
serilog.json: |-
{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"annotations": {
Run Code Online (Sandbox Code Playgroud)
你的json文件应该位于您的图表目录中。
\n\n\xce\xbb ls\nChart.yaml charts/ serilog.json templates/ values.yaml\n\n\xce\xbb helm template .\n---\n# Source: templates/configmap.yaml\napiVersion: v1\nkind: ConfigMap\nmetadata:\n name: serilog-configmap\ndata:\n serilog.json: |-\n {\n "Serilog": {\n "Using": [\n "Serilog.Sinks.ColoredConsole"\n ]\n }\n }\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
3073 次 |
| 最近记录: |