【发布时间】:2021-01-26 22:25:01
【问题描述】:
这是我常用的 Kubernetes 作业 YAML 配置的简化版本:
apiVersion: batch/v1
kind: Job
metadata:
name: myjob
spec:
template:
spec:
containers:
- name: mycontainer
image: me/mycontainer:latest
command: ["bash", "-c"]
args:
- python -u myscript.py
--param1 abc
--param2 xyz
上面的效果很好,并且易于维护和阅读。但现在我的一个参数需要一些缩小的 YAML:
apiVersion: batch/v1
kind: Job
metadata:
name: myjob
spec:
template:
spec:
containers:
- name: mycontainer
image: me/mycontainer:latest
command: ["bash", "-c"]
args:
- python -u myscript.py
--param_minified_yaml "{key: value}"
kubectl 正在解析这一位嵌入的缩小 yaml 并导致:error: error parsing STDIN: error converting YAML to JSON: yaml: line 26: mapping values are not allowed in this context
args: 中嵌入的 yaml 如何进行转义,使其作为纯文本参数传递?
【问题讨论】:
标签: kubernetes yaml kubectl