我的values.yaml 文件中有一个json 编码的字符串 ->
values.yaml
network:
cidrs : "[\"123.123.123.123/32\",\"123.124.125.125/32\"]"
现在,我想将此值用作我的网络策略导出 ipblock 中的字符串列表。但我无法将其转换为列表。
目前,我正在按照此方法来实现要求,但失败了 -
error converting YAML to JSON: yaml: line xx : did not find expected key
netpol.yaml
spec:
podSelector:
matchLabels:
name: log-forwarder
policyTypes:
- Egress
egress:
{{- $json := .Values.network.cidrs | fromJson -}}
{{- range $json }}
- to:
- ipBlock:
cidr: {{- . }}
{{- end }}
ports:
- protocol: TCP
port: 443
知道如何将编码字符串转换为字符串列表并在我的网络策略中使用它吗?
最佳答案
使用 mustFromJson
而不是 fromJson
,最近遇到了同样的问题并修复了它,要查看文档以查看是否找出原因。
编辑:出于某种原因 fromJson
无法处理顶级列表,但 mustFromJson
可以,看起来像一个错误,因为文档中列出的唯一区别是 如果 JSON 无效,mustFromJson
将返回错误。
关于arrays - Helm : error converting YAML to JSON: yaml: line xx: did not find expected key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75438649/