我的广告连播具有以下配置:
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: my-app
labels:
app: my-app
spec:
serviceName: my-app
replicas: 1
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
restartPolicy: Never
containers:
- name: my-app
image: myregistry:443/mydomain/my-app
imagePullPolicy: Always
Run Code Online (Sandbox Code Playgroud)
And it deploys fine without the restartPolicy. However, I do not want the process to be run again once finished, hence I added the 'restartPolicy: Never'. Unfortunately I get the following error when I attempt to deploy:
Error from server (Invalid): error when creating "stack.yaml": StatefulSet.apps "my-app" is invalid: spec.template.spec.restartPolicy: Unsupported value: "Never": supported values: "Always"
Run Code Online (Sandbox Code Playgroud)
What am I missing?
Thanks
您应该使用作业控制器而不是 StatefulSet:
一个 Job 创建一个或多个 Pod,并确保指定数量的 Pod 成功终止。当 pod 成功完成时,Job 会跟踪成功完成情况。
查看处理 Pod 和容器故障部分,该部分解释了使用restartPolicywith 值OnFailure或Never与其他配置(例如parallelism,completions和 )相结合的效果backoffLimit。
小智 5
请参阅https://github.com/kubernetes/kubernetes/issues/24725
似乎仅支持“始终”。
| 归档时间: |
|
| 查看次数: |
2300 次 |
| 最近记录: |