nodeAffinity如何在DaemonSets中工作?

我正在尝试创build一个具有特定关系的守护进程集,我只希望它在types为prod的节点上创buildPod。 我使用以下testing代码:

 apiVersion:extensions / v1beta1
 kind:DaemonSet
元数据:
  名称:test0
  命名空间:kube-system
规格:
  模板:
    元数据:
      标签:
         app:test0
    规格:
      亲和力:
         nodeAffinity:
           requiredDuringSchedulingIgnoredDuringExecution:
             nodeSelectorTerms:
             -  matchExpressions:
               - 键:键入
                运营商:在
                值:
                 -  prod
      容器:
       - 名称:test0
        图片:gcr.io/google_containers/pause:2.0

但是,kubectl退出的错误如下:

error: error validating "test.yaml": error validating data: found invalid field affinity for v1.PodSpec; if you choose to ignore these errors, turn validation off with --validate=false

我不知道我在这里做错了。 我试着把亲和块放在模板块下,同样的错误。

不过,我应该注意到这个集群仍然是Kubernetes 1.4.8。 从1.2开始,亲和力是Kubernetes的一部分,所以我不认为这会是问题吗?

自己find了解决scheme,显然我需要使用一个注释来代替:

 ...
规格:
  模板:
    元数据:
      标签:
         app:test0
      注释:
           scheduler.alpha.kubernetes.io/affinity:>
             {
               “nodeAffinity”:{
                 “必需的时间安排忽略时间执行”:{
                   “nodeSelectorTerms”:[
                     {
                       “matchExpressions”:[
                         {
                           “key”:“type”,
                           “运营商”:“在”,
                           “价值观”:[“prod”]
                         }
                       ]
                     }
                   ]
                 }
               }
             }
 ...