我们使用的是Openshift(Kubernetes的托管版本),我正在努力将部署配置创建的所有Pod的Pod重新启动策略从“始终”设置为“从不”,但是我不确定在Yaml中进行更改。
我们的部署配置如下:
kind: DeploymentConfig
metadata:
generation: 19
name: my-deployment-config
namespace: my-deployment-config-namespace
selfLink: >-
...
uid: af918183-c780-11ea-8945-525400d3e4d9
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
name: my-selector
strategy:
activeDeadlineSeconds: 21600
resources: {}
rollingParams:
intervalSeconds: 1
maxSurge: 25%
maxUnavailable: 25%
timeoutSeconds: 600
updatePeriodSeconds: 1
type: Rolling
template:
metadata:
...
spec:
containers:
- image: >-
(image source)
imagePullPolicy: Always
name: my-container
ports:
- containerPort: 8080
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
当我尝试将其中的restartPolicy从“始终”更改为“从不”时,我遇到了
无法处理资源。原因: DeploymentConfig.apps.openshift.io “ my-deployment-config”无效: spec.template.spec.restartPolicy:不支持的值:“从不”: 支持的值:“始终”
The Kubernetes documentation以及重新启动策略上的Openshift documentation显示,可以使用“始终”,“从不”或“失败”配置窗格。
那我该如何从部署配置中做到这一点?
答案 0 :(得分:3)
部署仅对AlwaysPolicy启用Always。请参阅此文档https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#pod-template
还可以将问题报告回溯到很久以前。 https://github.com/kubernetes/kubernetes/issues/24725
仅允许一个等于Always的.spec.template.spec.restartPolicy,如果未指定,则为默认值。
注意:DaemonSet,ReplicaSets和ReplicationController的情况相同。