YAML补丁文件中- |-的含义?以Kind集群containerd配置为例
Kind集群配置中
- |-的含义解析 咱们拆解这个YAML语法的各个部分:
- 开头的
-:表示这是containerdConfigPatches数组里的一个元素,因为Kind允许同时给containerd打多个配置补丁,所以用数组来承载这些补丁条目。 - 中间的
|:是YAML的块字面量标量,用来定义多行文本内容,会完整保留文本里的换行和缩进——刚好适配containerd的TOML格式配置,不用转义换行和空格。 - 最后的
-:是块字面量的修剪后缀,作用是移除文本块末尾的换行符。如果只用|,文本块的最后会多一个多余的换行;加了-之后,这个末尾换行就会被删掉,避免干扰containerd的配置解析。
拿你给的示例来说:
containerdConfigPatches: - |- [plugins."io.containerd.grpc.v1.cri".registry.mirrors."localhost:${reg_port}"] endpoint = ["http://${reg_name}:5000"]
这里用|-就是为了把后面的TOML配置完整、干净地传给containerd,既保留了配置的缩进结构,又不会带多余的末尾换行。
内容的提问来源于stack exchange,提问作者Mike
相关产品推荐
相关产品推荐

