2017-10-16 72 views
0

嘗試在kubernetes中創建POD時出現以下錯誤。Kubernetes - 發現無效的字段規範錯誤

# kubectl create -f nginx-deployment-prod.yaml 
error: error validating "nginx-deployment-prod.yaml": error validating data: found invalid field spec for v1.ObjectMeta; if you choose to ignore these errors, turn validation off with --validate=false 

的YAML文件如下:

apiVersion: extensions/v1beta1 
kind: Deployment 
metadata: 
    name: nginx-deployment-prod 
spec: 
    replicas: 1 
    template: 
    metadata: 
     labels: 
     app: nginx-deployment-prod 
     spec: 
     containers: 
      - 
      image: "nginx:1.7.9" 
      name: nginx-deployment-prod 
      ports: 
      - 
      containerPort: 80 

經過了YAML,如果它是有效的或者是不使用http://www.yamllint.com/;請讓我知道如何解決這個問題。

+0

我看到下面已經是答案,但這裏是YAML轉換成JSON找出問題https://jsonformatter.org/yaml-to-json – JBone

回答

1

您在格式化yaml文件時遇到了問題:spec應與metadata處於同一級別。

正確nginx-deployment-prod.yaml是:

apiVersion: extensions/v1beta1 
kind: Deployment 
metadata: 
    name: nginx-deployment-prod 
spec: 
    replicas: 1 
    template: 
    metadata: 
     labels: 
     app: nginx-deployment-prod 
    spec: 
     containers: 
     - name: nginx-deployment-prod 
      image: "nginx:1.7.9" 
      ports: 
      - containerPort: 80 
+0

感謝鏈接指出錯誤並予以糾正。有效。 – Kris