【问题标题】:Trigger Kubernetes/EKS cron job via HTTP call通过 HTTP 调用触发 Kubernetes/EKS cron 作业
【发布时间】:2022-01-11 07:09:36
【问题描述】:

我有一堆位于 EKS 集群中的 cron 作业,并希望通过 HTTP 调用来触发它们。 Kubernetes 中是否存在这样的 API?如果不行,还有什么办法?

【问题讨论】:

    标签: kubernetes amazon-eks kubernetes-cronjob


    【解决方案1】:

    Kubernetes 中的每个操作都可以通过 REST API 调用来调用。这在docs 中也有说明。

    您可以查看完整的 Kubernetes API API reference

    事实上,kubectl 在后台使用 http。您可以通过使用带有一些verbosity levelv 标志来查看这些http 调用。例如:

    $ kubectl get pods -v=6
    I1206 00:06:33.591871   19308 loader.go:372] Config loaded from file:  /home/blue/.kube/config
    I1206 00:06:33.826009   19308 round_trippers.go:454] GET https://mycluster.azmk8s.io:443/api?timeout=32s 200 OK in 233 milliseconds
    ...
    

    因此,您可以通过查看 kubectl 的执行方式来检查您需要的命令。但考虑到 kubectl 确实使用 http,直接使用 kubectl 可能更容易。

    【讨论】:

      【解决方案2】:

      根据定义,cron 作业由时间事件(每小时、每月)触发。

      如果你想强制触发,你可以使用:

      kubectl create job --from=cronjob/<cron-job-name> <job-name> -n <namespace>

      这是使用的是 RESTful 服务的 Kube Api,所以我认为它可以满足您的要求。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-11-21
        • 1970-01-01
        • 2014-11-26
        • 2021-07-31
        • 2019-02-19
        • 2023-03-07
        • 1970-01-01
        • 2012-06-16
        相关资源
        最近更新 更多