Skip to content

Commit 4cc02ce

Browse files
authored
Merge pull request #601 from aGallea/master
Example - create job from cronjob in cluster
2 parents 499959e + f16131d commit 4cc02ce

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
const k8s = require('@kubernetes/client-node');
2+
3+
const kc = new k8s.KubeConfig();
4+
kc.loadFromCluster();
5+
6+
const batchV1Api = kc.makeApiClient(k8s.BatchV1Api);
7+
const batchV1beta1Api = kc.makeApiClient(k8s.BatchV1beta1Api);
8+
const cronJobName = 'myCronJob';
9+
const jobName = 'myJob';
10+
11+
const job = new k8s.V1Job();
12+
const metadata = new k8s.V1ObjectMeta();
13+
job.apiVersion = 'batch/v1';
14+
job.kind = 'Job';
15+
metadata.name = jobName;
16+
metadata.annotations = {
17+
'cronjob.kubernetes.io/instantiate': 'manual',
18+
};
19+
job.metadata = metadata;
20+
21+
batchV1beta1Api.readNamespacedCronJob(cronJobName, 'default')
22+
.then((cronJobRes) => {
23+
job.spec = cronJobRes.body.spec.jobTemplate.spec;
24+
batchV1Api.createNamespacedJob('default', job)
25+
.then((res) => {
26+
console.log(res.body);
27+
})
28+
.catch((err) => {
29+
console.log(err);
30+
});
31+
})
32+
.catch((err) => {
33+
console.log(err);
34+
});

0 commit comments

Comments
 (0)