我在yaml文件下面使用创建pod,kubectl命令给出了以下错误。
如何更正此错误消息?
apiVersion: v1
kind: Pod
metadata:
name: command-demo
labels:
purpose: demonstrate-command
spec:
containers:
- name: command-demo-container
image: debian
command: ["printenv"]
args: ["HOSTNAME", "KUBERNETES_PORT"]
env:
- name: MESSAGE
value: "hello world"
command: ["/bin/echo"]
args: ["$(MESSAGE)"]
kubectl create -f commands.yaml
error: error validating "commands.yaml": error validating data: found invalid field env for v1.PodSpec; if you choose to ignore these errors, turn validation off with --validate=false
按照此页面中的示例进行操作。
https://kubernetes.io/docs/tasks/configure-pod-container/define-command-argument-container/
由于 -SR
答案 0 :(得分:3)
你的语法正确-YAML会导致kubernetes的数据结构不正确。在YAML中,缩进可能会影响数据的结构。见this。
我认为这应该是正确的:
apiVersion: v1
kind: Pod
metadata:
name: command-demo
labels:
purpose: demonstrate-command
spec:
containers:
- name: command-demo-container
image: debian
command: ["printenv"]
args: ["HOSTNAME", "KUBERNETES_PORT"]
env:
- name: MESSAGE
value: "hello world"
command: ["/bin/echo"]
args: ["$(MESSAGE)"]