I have the following configuration for my pod:
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: AlwaysAnd 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"What am I missing?
Thanks
2 Answers
Please see
It appears that only "Always" is supported.
2You should use a Job controller instead of a StatefulSet:
A Job creates one or more Pods and ensures that a specified number of them successfully terminate. As pods successfully complete, the Job tracks the successful completions.
Take a look at Handling Pod and Container Failures section, which explains the effects of using restartPolicy with values OnFailure or Never, combined with another configs such as parallelism, completions and backoffLimit.