块标量样式折叠多行在YAML中不能通过kubectl在k8s中工作



我为这个文件运行kubectl apply:

apiVersion: v1
kind: ConfigMap
metadata:
name: test
namespace: test
data:
folded: >-
{
"field1": 1,
"test2": "test"
}
literal: |-
{
"field1": 1,
"test2": "test"
}

single-quoted:
'{
"field1": 1,
"test2": "test"
}'

和我得到这个结果后运行kubectl describe:

Data
====
folded:
----
{
"field1": 1,
"test2": "test"
}
literal:
----
{
"field1": 1,
"test2": "test"
}
single-quoted:
----
{ "field1": 1, "test2": "test" }

根据文档,如果我得到正确的事情,我期望foldedsingle-quoted相同,即在一行中,但这不会发生。我做错了什么吗?

这实际上是由于设计和json中额外的空格:

如果您在折叠样式的非第一行的开头插入额外的空格,它们将被保留,并附带一个额外的换行符。(这种情况不会发生在流风格中。)YAML 1.2.2规范第6.5节:

另外,折叠不适用于文本周围的换行符包含前导空白的行。注意,这样的缩进比较多

这将工作如我的预期:

apiVersion: v1
kind: ConfigMap
metadata:
name: test
namespace: test
data:
folded: >-
{
"field1": 1,
"test2": "test"
}

相关内容

  • 没有找到相关文章

最新更新