验证数据时出错:[ValidationError(Pod):io.k8s.api.core.v1.Pod中的未知字段“容器”

Roc*_*Hai 1 yaml pod kubernetes

我正在尝试创建一些示例kubernetes pod文件。

cat << EOF | kubectl create -f -
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- name: nginx
  image: nginx
EOF
Run Code Online (Sandbox Code Playgroud)

但是在执行此操作时,我遇到了错误。

错误:验证“ pod.yaml”时出错:验证数据时出错:[ValidationError(Pod):io.k8s.api.core.v1.Pod中的未知字段“容器”,ValidationError(Pod):中的未知字段“我” io.k8s.api.core.v1.Pod]; 如果您选择忽略这些错误,请使用--validate = false关闭验证

Roc*_*Hai 5

我不确定确切的问题,但已通过适当的空格缩进解决了问题

---
apiVersion: v1
kind: Pod
metadata:
 name: nginx
spec:
 containers:
   - name: nginx
     image: nginx
Run Code Online (Sandbox Code Playgroud)

现在它为我提供了适当的空间。我的错

  • 两个版本都是有效的 YAML 文档。在您的问题中,“spec”是 YAML 文件的根级别映射中的键,其值为 null,类似的“containers”是同一映射中的键,其值为具有一个条目的列表。在您的答案中,“spec”的值是一个具有键“containers”的映射。由于 Kubernetes 不知道根级别密钥“容器”,因此它会抛出错误。 (2认同)