文档首页 > > API参考> Kubernetes API> CronJob> 创建CronJob

创建CronJob

分享
更新时间:2020/10/10 GMT+08:00

功能介绍

This API is used to create a CronJob resource object.

URI

POST /apis/batch/v1beta1/namespaces/{namespace}/cronjobs

表1描述该API的参数。

表1 参数解释

参数

是否必选

描述

namespace

Yes

Object name and auth scope, such as for teams and projects.

pretty

No

If 'true', then the output is pretty printed.

请求消息

请求参数:

请求参数如表2所示。

表2 请求参数

参数

是否必选

参数类型

描述

apiVersion

Yes

String

APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.

kind

Yes

String

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.

metadata

Yes

metadata object

Standard list metadata.

spec

Yes

spec object

Specification of the desired behavior of a cron job, including the schedule.

status

No

status object

Current status of a cron job.

表3 spec字段数据结构说明

参数

是否必选

参数类型

描述

concurrencyPolicy

No

String

Specifies how to treat concurrent executions of a Job. Valid values are: - "Allow" (default): allows CronJobs to run concurrently; - "Forbid": forbids concurrent runs, skipping next run if previous run hasn’t finished yet; - "Replace": cancels currently running job and replaces it with a new one.

failedJobsHistoryLimit

No

Integer

The number of failed finished jobs to retain. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.

jobTemplate

Yes

jobTemplate object

Specifies the job that will be created when executing a CronJob.

schedule

Yes

String

The schedule in Cron format.

startingDeadlineSeconds

No

Integer

Optional deadline in seconds for starting the job if it misses scheduled time for any reason. Missed jobs executions will be counted as failed ones.

successfulJobsHistoryLimit

No

Intege

The number of successful finished jobs to retain. This is a pointer to distinguish between explicit zero and not specified. Defaults to 3.

suspend

No

Boolean

This flag tells the controller to suspend subsequent executions, it does not apply to already started executions. Defaults to false.

表4 status字段数据结构说明

参数

是否必选

参数类型

描述

active

No

claimRef object

A list of pointers to currently running jobs.

lastScheduleTime

No

String

Information when was the last time the job was successfully scheduled.

表5 jobTemplate字段数据结构说明

参数

是否必选

参数类型

描述

metadata

No

metadata object

Standard object’s metadata of the jobs created from this template.

spec

No

spec object

Specification of the desired behavior of the job.

请求示例:

{
    "apiVersion": "batch/v1beta1",
    "kind": "CronJob",
    "metadata": {
        "name": "cronjob-test",
        "namespace": "default"
    },
    "spec": {
        "concurrencyPolicy": "Allow",
        "jobTemplate": {
            "spec": {
                "template": {
                    "metadata": {
                        "enable": true,
                        "labels": {
                            "sjname": "cronjob-test"
                        }
                    },
                    "spec": {
                        "containers": [
                            {
                                "image": "nginx:stable-perl",
                                "imagePullPolicy": "IfNotPresent",
                                "lifecycle": {},
                                "name": "container-0"
                            }
                        ],
                        "dnsPolicy": "ClusterFirst",
                        "imagePullSecrets": [
                            {
                                "name": "default-secret"
                            }
                        ],
                        "restartPolicy": "OnFailure"
                    }
                }
            }
        },
        "schedule": "*/59 * * * *"
    }
}

响应消息

响应参数:

响应参数的详细描述请参见表2

响应示例:

{
    "apiVersion": "batch/v1beta1",
    "kind": "CronJob",
    "metadata": {
        "annotations": {
            "container.io/container-0": "https://console.huaweicloud.com/swr/dockerimage/nginx.png",
            "description": ""
        },
        "creationTimestamp": "2018-03-07T12:08:52Z",
        "enable": true,
        "name": "cronjob-test",
        "namespace": "default",
        "resourceVersion": "441019",
        "selfLink": "/apis/batch/v1beta1/namespaces/default/cronjobs/cronjob-test",
        "uid": "4d78b666-2200-11e8-96aa-fa163ecd089c"
    },
    "spec": {
        "concurrencyPolicy": "Allow",
        "failedJobsHistoryLimit": 1,
        "jobTemplate": {
            "metadata": {
                "creationTimestamp": null,
                "enable": true
            },
            "spec": {
                "template": {
                    "metadata": {
                        "creationTimestamp": null,
                        "enable": true,
                        "labels": {
                            "sjname": "cronjob-test"
                        }
                    },
                    "spec": {
                        "containers": [
                            {
                                "image": "nginx:stable-perl",
                                "imagePullPolicy": "IfNotPresent",
                                "lifecycle": {},
                                "name": "container-0",
                                "resources": {},
                                "terminationMessagePath": "/dev/termination-log",
                                "terminationMessagePolicy": "File"
                            }
                        ],
                        "dnsPolicy": "ClusterFirst",
                        "imagePullSecrets": [
                            {
                                "name": "default-secret"
                            }
                        ],
                        "restartPolicy": "OnFailure",
                        "schedulerName": "default-scheduler",
                        "securityContext": {},
                        "terminationGracePeriodSeconds": 30
                    }
                }
            }
        },
        "schedule": "*/59 * * * *",
        "successfulJobsHistoryLimit": 3,
        "suspend": false
    },
    "status": {}
}

状态码

表6描述API的状态码。

表6 状态码

状态码

描述

201

The request has been fulfilled, resulting in the creation of a new resource.

异常状态码请参见状态码

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问