patchesJson6902

使用 json 6902 标准 Patch resources

patchesJson6902 列表中的每个条目都应可以解析为 kubernetes 对象和将应用于该对象的 JSON patch

目标字段指向的 kubernetes 对象的 group、 version、 kind、 name 和 namespace 在同一 kustomization 内 path 字段内容是 JSON patch 文件的相对路径。

patch 文件中的内容可以如下这种 JSON 格式:

  1. [
  2. {"op": "add", "path": "/some/new/path", "value": "value"},
  3. {"op": "replace", "path": "/some/existing/path", "value": "new value"}
  4. ]

也可以使用 YAML 格式表示:

  1. - op: add
  2. path: /some/new/path
  3. value: value
  4. - op: replace
  5. path: /some/existing/path
  6. value: new value
  1. apiVersion: kustomize.config.k8s.io/v1beta1
  2. kind: Kustomization
  3. patchesJson6902:
  4. - target:
  5. version: v1
  6. kind: Deployment
  7. name: my-deployment
  8. path: add_init_container.yaml
  9. - target:
  10. version: v1
  11. kind: Service
  12. name: my-service
  13. path: add_service_annotation.yaml

patch 内容也可以是一个inline string:

  1. apiVersion: kustomize.config.k8s.io/v1beta1
  2. kind: Kustomization
  3. patchesJson6902:
  4. - target:
  5. version: v1
  6. kind: Deployment
  7. name: my-deployment
  8. patch: |-
  9. - op: add
  10. path: /some/new/path
  11. value: value
  12. - op: replace
  13. path: /some/existing/path
  14. value: "new value"