【问题标题】:kubectl apply -f ngx-dep.yaml error: error validating "ngx-dep.yaml": error validating data:kubectl apply -f ngx-dep.yaml 错误:验证“ngx-dep.yaml”时出错:验证数据时出错:
【发布时间】:2021-02-04 13:00:14
【问题描述】:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: ngx-dep3
  labels:
     app: ngx
     type: webservice
spec:
  replicas: 1
  selector:
    matchLabels:
      app: ngx
    template:
       metadata:
        labels:
          app: ngx
       spec:
        containers:
        - name: nginx
          image: nginx:1.8

kubectl apply -f ngx-dep.yaml

错误:验证“ngx-dep.yaml”时出错:验证数据时出错:[ValidationError(Deployment.spec.selector): io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector 中的未知字段“模板” ,ValidationError(Deployment.spec):在io.k8s.api.apps.v1.DeploymentSpec中缺少必填字段“模板”];如果您选择忽略这些错误,请使用 --validate=false 关闭验证

【问题讨论】:

  • 答案很简单,如错误中所述。删除模板前的 2 个空格。层次结构因此而改变。

标签: kubernetes


【解决方案1】:

改变身份。 template 应与replicas 等处于同一级别

spec:
  replicas:
  selector:
  template:

正确的yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: ngx-dep3
  labels:
     app: ngx
     type: webservice
spec:
  replicas: 1
  selector:
    matchLabels:
      app: ngx
  template:
     metadata:
      labels:
        app: ngx
     spec:
       containers:
         - name: nginx
           image: nginx:1.8

kubectl apply -f a.yaml
deployment.apps/ngx-dep3 created

有关简单信息和示例,请参阅Deployment v1 apps official docs

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-11
    • 1970-01-01
    • 2016-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多