我正在尝试在 values.yaml 中的特定位置添加以下键值,sed 没有多大帮助,因为它破坏了 yaml 的缩进。有没有其他方法可以做到这一点。
例如:示例 yaml
所需的 yaml
使用sed
您可以在此之前插入一段文本livenessProbe
:
sed -e '/livenessProbe/i\
volumes:\n- name: my-agent\n persistentVolume:\n claimName: my-agent
' sample.yaml
如果sample.yaml
是
resources:
limits:
cpu: 500m
memory: 2Gi
requests:
cpu: 100m
memory: 512Mi
livenessProbe:
httpGetPath: /heartbeat
结果将是:
resources:
limits:
cpu: 500m
memory: 2Gi
requests:
cpu: 100m
memory: 512Mi
volumes:
- name: my-agent
persistentVolume:
claimName: my-agent
livenessProbe:
httpGetPath: /heartbeat
如果要添加的代码块在 yaml 文件中addons.yaml
:
sed -e "/livenessProbe/i\
$(cat addons.yaml | sed ':a;N;$!ba;s/\n/\\n/g')
" sample.yaml