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 中处于错误的级别并且未被读取。
我正在尝试使用以下配置在 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 中处于错误的级别并且未被读取。