【问题标题】:OpenShift or Kubernetes - Create a Job from CronJob using curl commandOpenShift 或 Kubernetes - 使用 curl 命令从 CronJob 创建作业
【发布时间】:2020-03-24 05:01:36
【问题描述】:

我想使用 curl 命令从 cronjob 创建作业。

我知道 kubernetes kubectl 或 openshift oc 命令。以下命令有效。但我正在寻找 curl 命令。

Kubernetes: kubectl 创建作业 --from=cronjob/

OpenShift oc 创建作业 --from=cronjob/

请帮忙。我正在使用 OpenShift 3.11。

【问题讨论】:

    标签: kubernetes openshift


    【解决方案1】:

    您可以运行高详细级别的 kubectl 命令,它应该显示 curl 命令和内部使用的请求正文。

    kubectl create job --from=cronjob/test-job --v=10
    
    
    
    I0324 10:46:36.071067   44400 round_trippers.go:423] curl -k -v -XGET  -H "Accept: application/json" -H "User-Agent: kubectl/v1.17.0 (darwin/amd64) kubernetes/70132b0" 'https://127.0.0.1:32768/apis/batch/v1beta1/namespaces/default/cronjobs/test-job'
    I0324 10:46:36.110550   44400 round_trippers.go:443] GET https://127.0.0.1:32768/apis/batch/v1beta1/namespaces/default/cronjobs/test-job 200 OK in 39 milliseconds
    I0324 10:46:36.110573   44400 round_trippers.go:449] Response Headers:
    I0324 10:46:36.110579   44400 round_trippers.go:452]     Content-Type: application/json
    I0324 10:46:36.110585   44400 round_trippers.go:452]     Content-Length: 898
    I0324 10:46:36.110590   44400 round_trippers.go:452]     Date: Tue, 24 Mar 2020 05:16:36 GMT
    I0324 10:46:36.110631   44400 request.go:1017] Response Body: {"kind":"CronJob","apiVersion":"batch/v1beta1","metadata":{"name":"test-job","namespace":"default","selfLink":"/apis/batch/v1beta1/namespaces/default/cronjobs/test-job","uid":"11813788-123d-4379-a103-79e18c7e954c","resourceVersion":"64182","creationTimestamp":"2020-03-24T05:16:03Z"},"spec":{"schedule":"*/1 * * * *","concurrencyPolicy":"Allow","suspend":false,"jobTemplate":{"metadata":{"name":"test-job","creationTimestamp":null},"spec":{"template":{"metadata":{"creationTimestamp":null},"spec":{"containers":[{"name":"test-job","image":"busybox","resources":{},"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"Always"}],"restartPolicy":"OnFailure","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","securityContext":{},"schedulerName":"default-scheduler"}}}},"successfulJobsHistoryLimit":3,"failedJobsHistoryLimit":1},"status":{}}
    I0324 10:46:36.117139   44400 request.go:1017] Request Body: {"kind":"Job","apiVersion":"batch/v1","metadata":{"name":"job","creationTimestamp":null,"annotations":{"cronjob.kubernetes.io/instantiate":"manual"},"ownerReferences":[{"apiVersion":"apps/v1","kind":"CronJob","name":"test-job","uid":"11813788-123d-4379-a103-79e18c7e954c","controller":true,"blockOwnerDeletion":true}]},"spec":{"template":{"metadata":{"creationTimestamp":null},"spec":{"containers":[{"name":"test-job","image":"busybox","resources":{},"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"Always"}],"restartPolicy":"OnFailure","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","securityContext":{},"schedulerName":"default-scheduler"}}},"status":{}}
    I0324 10:46:36.117189   44400 round_trippers.go:423] curl -k -v -XPOST  -H "Accept: application/json, */*" -H "Content-Type: application/json" -H "User-Agent: kubectl/v1.17.0 (darwin/amd64) kubernetes/70132b0" 'https://127.0.0.1:32768/apis/batch/v1/namespaces/default/jobs'
    

    【讨论】:

    • 感谢您的解决方案。有用。但是,与 kubectl 命令相比,我必须提供很多细节(如规范、并行性..)。有什么办法可以简单的参考 cron 作业并执行 curl 命令。
    猜你喜欢
    • 2021-06-02
    • 2021-10-24
    • 2021-02-11
    • 1970-01-01
    • 2019-06-19
    • 2022-12-19
    • 2021-05-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多