Kubernetes 使用错误的 restartPolicy 值

Kubernetes using wrong value for restartPolicy

我正在尝试使用以下配置在 kubernetes 中部署作业,但出现此错误:

spec.template.spec.restartPolicy: Unsupported value: "Always": supported values: OnFailure, Never

好像 kubernetes 没有读取我的 restartPolicy 配置(设置为从不)或者它在某处被覆盖了...

"funny" 它对我的 Cronjob 部署有效(我对它们使用相同的模板)。

Kubernetes 版本:1.7.7

这是我的配置:

{
  "apiVersion": "batch/v1",
  "kind": "Job",
  "metadata": {
    "name": "pipeline-test",
    "labels": {
      "app": "pipeline-test",
      "env": "test",
      "commit": "xxxxxxxx"
    },
    "namespace": "pipeline-test"
  },
  "spec": {
    "jobTemplate": {
      "spec": {
        "template": {
          "metadata": {
            "labels": {
              "app": "pipeline-test",
              "env": "test",
              "commit": "xxxxxxxx"
            }
          },
          "spec": {
            "restartPolicy": "Never",
            "containers": [
              {
                "name": "pipeline-test",
                "image": "us.gcr.io/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                "env": [
                  {
                    "name": "APP_ENV",
                    "value": "test"
                  },
                  {
                    "name": "MAX_WORKERS",
                    "value": "2"
                  },
                  {
                    "name": "TYPE_CASTING",
                    "value": "false"
                  },
                  {
                    "name": "ENV",
                    "value": "test"
                  },
                  {
                    "name": "PROJECT_NAME",
                    "value": "null-testing1-v"
                  },
                  {
                    "name": "JOB_NAME",
                    "value": "testjob"
                  },
                  {
                    "name": "SUBSCRIPTION_NAME",
                    "value": "testsub"
                  },
                  {
                    "name": "CACHE_INVALIDATOR",
                    "value": "14-1"
                  },
                  {
                    "name": "GIT_COMMIT",
                    "value": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                  },
                  {
                    "name": "APP_GIT_COMMIT",
                    "value": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                  },
                  {
                    "name": "APP_NAME",
                    "value": "pipeline-test"
                  },
                ],
                "volumeMounts": [

                ],
                "ports": [
                  {
                    "containerPort": 3000
                  }
                ],
                "resources": {
                  "requests": {
                    "cpu": "100m",
                    "memory": "512Mi"
                  },
                  "limits": {
                    "cpu": "1000m",
                    "memory": "512Mi"
                  }
                }
              }
            ],
            "volumes": [

            ],
            "imagePullSecrets": [
              {
                "name": "image-pull-secret"
              }
            ]
          }
        }
      }
    }
  }
}

谢谢

编辑:我能够通过删除 2 行来 运行 它:

    "jobTemplate": {
      "spec": {

因此 json 中的 restartPolicy 处于错误的级别并且未被读取。

我可以通过删除 2 行来 运行 它:

"jobTemplate": {
  "spec": {

所以 restartPolicy 在 json 中处于错误的级别并且未被读取。