由于 restartPolicy,创建 kubernetes ReplicationController 失败

Creating kubernetes ReplicationController fails due to restartPolicy

我尝试通过 JSON 文件创建 Replication Controller,并且我提到 restartPolicy 作为 "Never"对于 pod restartPolicy.

但我收到一个错误,

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

v1.2 是否有任何变化,它仅支持“Always”作为 restartPolicy 的选项?我很困惑。

我尝试了另一种情况,我遇到了一种奇怪的行为。 我将重启策略指定为“never”,但我得到的错误是,

错误: ReplicationController "ngnix-rc" 无效。 *spec.template.spec.restartPolicy:不支持的值:"never":支持的值:Always、OnFailure、Never *spec.template.spec.restartPolicy:不支持的值:"never":支持的值:总是

经查,此场景中有两个错误。 我不知道确切的问题是什么。

我用来创建 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"
      } 
    }
  }
}

Only a RestartPolicy equal to Always is allowed, which is the default if not specified.

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

扩展 zhb 的回答:虽然不同的重启策略对单个 pods 甚至 运行-to-completion 作业有意义,但复制控制器的全部目的是保持 N 个实例pod 运行ning,所以说您不希望 pods 重新启动并不符合这个概念。

解释这一点的文档部分是:http://kubernetes.io/docs/user-guide/pod-states/#restartpolicy