使用列表或三重破折号将多个 Kubernetes 对象放在一个 YAML 文件中:纯粹是一种风格选择?

ers*_*les 6 yaml kubernetes

List API 对象和三重破折号 (--- ) 均可用于表示单个 YAML 文件中的多个对象。因此,当三个破折号以更清晰的方式完成相同的事情(在我看来)时,为什么会存在列表?在任何情况下,列表比三重破折号更受欢迎,还是这纯粹是一种风格选择?

例如,这两个 YAML 文件都生成相同的两个ServiceAccount对象(为简洁起见选择):

我的serviceaccounts1.yaml

apiVersion: v1
kind: List
metadata: {}
items:
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    name: my-app
- apiVersion: v1
  kind: ServiceAccount
  metadata:
    name: my-other-app
Run Code Online (Sandbox Code Playgroud)

我的serviceaccounts2.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: my-app
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: my-other-app
Run Code Online (Sandbox Code Playgroud)

Ign*_*lán 6

我可以想到两个原因:

  1. 因为 Kubernetes API 使用 JSON 而在 JSON 中没有 ---
  2. 也许那种 List 仅用于响应。