由于restartPolicy

时间:2016-03-30 07:44:11

标签: kubernetes restart policy google-kubernetes-engine

我尝试通过JSON文件创建复制控制器,我提到 restartPolicy 为"从不"对于 pod restartPolicy

但是我收到了错误,

错误: ReplicationController" ngnix-rc"是无效的。 * spec.template.spec.restartPolicy:不支持的值:"从不":支持的值:始终

v1.2中是否有任何更改仅支持" 始终"作为 restartPolicy 的选项?我很困惑。

我尝试了另一种情况,我遇到了一种奇怪的行为。 我将重启政策指定为" 从不"我得到了错误,

错误: ReplicationController" ngnix-rc"是无效的。 * spec.template.spec.restartPolicy:不支持的值:"从不":支持的值:Always,OnFailure,Never * spec.template.spec.restartPolicy:不支持的值:"从不":支持的值:始终

如上所述,此方案中存在两个错误。 我不知道究竟是什么问题。

我用来创建RC的JSON文件在下面给出

{
  "kind":"ReplicationController",
  "apiVersion":"v1",
  "metadata":{
    "name":"ngnix-rc",
    "labels":{
      "app":"webserver"
    }
  },
  "spec":{
    "replicas":1,
    "selector":{
      "app":"webserver1"
    },
    "template":{
      "metadata":{
        "name":"ngnix-pod",
        "labels":{
          "app":"webserver1"
        }
      },
      "spec":{
        "containers":[
          {
            "image":"ngnix",
            "name":"nginx"
          }
        ],
        "restartPolicy":"Never"
      } 
    }
  }
}

2 个答案:

答案 0 :(得分:4)

扩展zhb的答案:虽然不同的重启策略对单个pod有意义,甚至对于run-to-completion作业,但复制控制器的全部目的是保留pod的N个实例跑步,所以说你不希望重新启动的pod没有与这个概念很好地融合。

解释此问题的文档部分是:http://kubernetes.io/docs/user-guide/pod-states/#restartpolicy

答案 1 :(得分:0)

  

只允许一个等于Always的RestartPolicy,如果没有指定,则为默认值。

引自此处:http://kubernetes.io/docs/user-guide/replication-controller/#pod-template