【问题标题】:Error validating Pod template with NodeSelector使用 NodeSelector 验证 Pod 模板时出错
【发布时间】:2019-06-12 17:08:13
【问题描述】:
    apiVersion: v1
    kind: Pod
    metadata:
      creationTimestamp: null
      labels:
        run: nginx4
      name: nginx4
    spec:
      containers:
      - image: nginx
        name: nginx4
      nodeSelector:
        app: "v1-tesla"
        resources: {}
      dnsPolicy: ClusterFirst
      restartPolicy: Never
    status: {}

当我运行上面的模板 kubectl create -f pod.yaml 时,我得到以下错误:

    error: error validating "podOnANode.yaml": error validating data: 
    ValidationError(Pod.spec.nodeSelector.resources): invalid type for 
    io.k8s.api.core.v1.PodSpec.nodeSelector: got "map", expected 
    "string"; if you choose to ignore these errors, turn validation off 
    with --validate=false

任何解决此问题的指针都会很棒。

【问题讨论】:

    标签: kubernetes yaml nodes kubectl kubernetes-pod


    【解决方案1】:

    以上错误是针对:

    nodeSelector:
      app: "v1-tesla"
      resources: {}
    

    这里,resources: {} 代表map,但应该是string。所以删除resources: {} 或将其值更改为string

    apiVersion: v1
    kind: Pod
    metadata:
      creationTimestamp: null
      labels:
        run: nginx4
      name: nginx4
    spec:
      containers:
      - image: nginx
        name: nginx4
      nodeSelector:
        app: "v1-tesla"
        resources: "whatever"
      dnsPolicy: ClusterFirst
      restartPolicy: Never
    status: {}
    

    【讨论】:

    • 是的,有效!!.. 非常感谢... 不清楚,因为没有提到行号,重点是修改 nodeSelector 标签而不是资源: {} 。但它总是空的,它是不是 nodeSelector 专门需要的。?
    猜你喜欢
    • 2016-12-03
    • 2018-06-03
    • 2016-07-11
    • 1970-01-01
    • 2018-10-14
    • 2018-08-29
    • 2018-01-27
    • 2019-06-20
    • 1970-01-01
    相关资源
    最近更新 更多