我正在对udemy进行模拟测试,并创建了一个多容器吊舱。但是考试结果显示,在容器上没有正确设置命令,test2,.I无法识别问题。
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
run: multi-pod
name: multi-pod
spec:
containers:
- image: nginx
name: test1
env:
- name: type
value: demo1
- image: busybox
name: test2
env:
- name: type
value: demo2
command: ["sleep", "4800"]发布于 2020-12-28 09:09:31
一个简单的方法是使用命令式kubectl命令为单个容器生成yaml并编辑yaml以添加另一个容器。
kubectl run nginx --image=nginx --command -oyaml --dry-run=client -- sh -c 'sleep 1d' > nginx.yaml在本例中,sleep 1d是命令。
生成的yaml如下所示。
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
run: nginx
name: nginx
spec:
containers:
- command:
- sh
- -c
- sleep 1d
image: nginx
name: nginx
resources: {}
dnsPolicy: ClusterFirst
restartPolicy: Always
status: {}发布于 2020-12-28 12:39:19
您的问题与第19行的YAML有关。。
请记住,YAML语法对空格和制表符非常敏感。
你的问题:
- image: busybox
name: test2
env:
- name: type
value: demo2 ### Issue is in this line, you have one extra space
command: ["sleep", "4800"]解决方案:
去掉空间,它看起来会是这样的:
env:
- name: type
value: demo2 对于YAML的验证,可以使用外部验证器(如亚姆林特 )。
如果要将YAML粘贴到上述验证器,则会收到错误:
(<unknown>): mapping values are not allowed in this context at line 19 column 14删除这个额外的空间后,您将得到
Valid YAML!https://stackoverflow.com/questions/65475195
复制相似问题