Running containers one-time or periodic in 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
add a comment |
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 '18 at 17:05
add a comment |
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 '18 at 14:16
9ilsdx 9rvj 0lo9ilsdx 9rvj 0lo
8781929
8781929
1
What exact functionality is missing? Isn't kubernetes.io/docs/concepts/workloads/controllers/… what you are looking for?
– Clorichel
Nov 22 '18 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 '18 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 '18 at 17:05
What exact functionality is missing? Isn't kubernetes.io/docs/concepts/workloads/controllers/… what you are looking for?
– Clorichel
Nov 22 '18 at 17:05
add a comment |
2 Answers
2
active
oldest
votes
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 |
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 |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
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
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
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 |
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 |
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 '18 at 16:36
Pau Campaña SolerPau Campaña Soler
1637
1637
add a comment |
add a comment |
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 |
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 |
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 '18 at 15:34
surensuren
1,286515
1,286515
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.
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 '18 at 17:05