Running containers one-time or periodic in Kubernetes
up vote
0
down vote
favorite
How to deploy and run a container in Kubernetes, that should do his job and terminate?
I thought this is what Run-Once is for, but it looks like it's not supported to work.
I have some jobs, packed in docker images, that should be run either once/on demand (data import), where the config change should trigger re-run, or periodically (like volume backup). My idea was to deploy a container with restartPolicy: never
which would stop and scale up to null after accomplishing.
What alternatives do I have for this missing functionality?
kubernetes
add a comment |
up vote
0
down vote
favorite
How to deploy and run a container in Kubernetes, that should do his job and terminate?
I thought this is what Run-Once is for, but it looks like it's not supported to work.
I have some jobs, packed in docker images, that should be run either once/on demand (data import), where the config change should trigger re-run, or periodically (like volume backup). My idea was to deploy a container with restartPolicy: never
which would stop and scale up to null after accomplishing.
What alternatives do I have for this missing functionality?
kubernetes
1
What exact functionality is missing? Isn't kubernetes.io/docs/concepts/workloads/controllers/… what you are looking for?
– Clorichel
Nov 22 at 17:05
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
How to deploy and run a container in Kubernetes, that should do his job and terminate?
I thought this is what Run-Once is for, but it looks like it's not supported to work.
I have some jobs, packed in docker images, that should be run either once/on demand (data import), where the config change should trigger re-run, or periodically (like volume backup). My idea was to deploy a container with restartPolicy: never
which would stop and scale up to null after accomplishing.
What alternatives do I have for this missing functionality?
kubernetes
How to deploy and run a container in Kubernetes, that should do his job and terminate?
I thought this is what Run-Once is for, but it looks like it's not supported to work.
I have some jobs, packed in docker images, that should be run either once/on demand (data import), where the config change should trigger re-run, or periodically (like volume backup). My idea was to deploy a container with restartPolicy: never
which would stop and scale up to null after accomplishing.
What alternatives do I have for this missing functionality?
kubernetes
kubernetes
asked Nov 22 at 14:16
9ilsdx 9rvj 0lo
7941928
7941928
1
What exact functionality is missing? Isn't kubernetes.io/docs/concepts/workloads/controllers/… what you are looking for?
– Clorichel
Nov 22 at 17:05
add a comment |
1
What exact functionality is missing? Isn't kubernetes.io/docs/concepts/workloads/controllers/… what you are looking for?
– Clorichel
Nov 22 at 17:05
1
1
What exact functionality is missing? Isn't kubernetes.io/docs/concepts/workloads/controllers/… what you are looking for?
– Clorichel
Nov 22 at 17:05
What exact functionality is missing? Isn't kubernetes.io/docs/concepts/workloads/controllers/… what you are looking for?
– Clorichel
Nov 22 at 17:05
add a comment |
2 Answers
2
active
oldest
votes
up vote
1
down vote
accepted
If you waht a task to be executed just once, or just when you want, you should define a job.
From the oficial documentation you can see this example:
apiVersion: batch/v1
kind: Job
metadata:
name: pi
spec:
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
backoffLimit: 4
If you want to execute a task periodically, you should define a job and also a cronjob, defining the frequence you want the job to be executed. The following example is also from the oficial documentation:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: hello
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: hello
image: busybox
args:
- /bin/sh
- -c
- date; echo Hello from the Kubernetes cluster
restartPolicy: OnFailure
add a comment |
up vote
1
down vote
You can use a job/cronjob. This example is from kubernetes docs:
apiVersion: batch/v1
kind: Job
metadata:
name: pi
spec:
backoffLimit: 5
activeDeadlineSeconds: 100
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
So, it will calculate "pi" and will terminate
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
If you waht a task to be executed just once, or just when you want, you should define a job.
From the oficial documentation you can see this example:
apiVersion: batch/v1
kind: Job
metadata:
name: pi
spec:
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
backoffLimit: 4
If you want to execute a task periodically, you should define a job and also a cronjob, defining the frequence you want the job to be executed. The following example is also from the oficial documentation:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: hello
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: hello
image: busybox
args:
- /bin/sh
- -c
- date; echo Hello from the Kubernetes cluster
restartPolicy: OnFailure
add a comment |
up vote
1
down vote
accepted
If you waht a task to be executed just once, or just when you want, you should define a job.
From the oficial documentation you can see this example:
apiVersion: batch/v1
kind: Job
metadata:
name: pi
spec:
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
backoffLimit: 4
If you want to execute a task periodically, you should define a job and also a cronjob, defining the frequence you want the job to be executed. The following example is also from the oficial documentation:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: hello
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: hello
image: busybox
args:
- /bin/sh
- -c
- date; echo Hello from the Kubernetes cluster
restartPolicy: OnFailure
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
If you waht a task to be executed just once, or just when you want, you should define a job.
From the oficial documentation you can see this example:
apiVersion: batch/v1
kind: Job
metadata:
name: pi
spec:
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
backoffLimit: 4
If you want to execute a task periodically, you should define a job and also a cronjob, defining the frequence you want the job to be executed. The following example is also from the oficial documentation:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: hello
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: hello
image: busybox
args:
- /bin/sh
- -c
- date; echo Hello from the Kubernetes cluster
restartPolicy: OnFailure
If you waht a task to be executed just once, or just when you want, you should define a job.
From the oficial documentation you can see this example:
apiVersion: batch/v1
kind: Job
metadata:
name: pi
spec:
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
backoffLimit: 4
If you want to execute a task periodically, you should define a job and also a cronjob, defining the frequence you want the job to be executed. The following example is also from the oficial documentation:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: hello
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: hello
image: busybox
args:
- /bin/sh
- -c
- date; echo Hello from the Kubernetes cluster
restartPolicy: OnFailure
answered Nov 22 at 16:36
Pau Campaña Soler
1315
1315
add a comment |
add a comment |
up vote
1
down vote
You can use a job/cronjob. This example is from kubernetes docs:
apiVersion: batch/v1
kind: Job
metadata:
name: pi
spec:
backoffLimit: 5
activeDeadlineSeconds: 100
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
So, it will calculate "pi" and will terminate
add a comment |
up vote
1
down vote
You can use a job/cronjob. This example is from kubernetes docs:
apiVersion: batch/v1
kind: Job
metadata:
name: pi
spec:
backoffLimit: 5
activeDeadlineSeconds: 100
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
So, it will calculate "pi" and will terminate
add a comment |
up vote
1
down vote
up vote
1
down vote
You can use a job/cronjob. This example is from kubernetes docs:
apiVersion: batch/v1
kind: Job
metadata:
name: pi
spec:
backoffLimit: 5
activeDeadlineSeconds: 100
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
So, it will calculate "pi" and will terminate
You can use a job/cronjob. This example is from kubernetes docs:
apiVersion: batch/v1
kind: Job
metadata:
name: pi
spec:
backoffLimit: 5
activeDeadlineSeconds: 100
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
So, it will calculate "pi" and will terminate
answered Nov 22 at 15:34
suren
1,210515
1,210515
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53432900%2frunning-containers-one-time-or-periodic-in-kubernetes%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
What exact functionality is missing? Isn't kubernetes.io/docs/concepts/workloads/controllers/… what you are looking for?
– Clorichel
Nov 22 at 17:05