You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rancher v2.6.8手动触发CronJob/Pod的API接口查询请求

手动触发Rancher CronJob/Workload的API方案

CronJob 立即运行接口

Rancher 底层复用 Kubernetes 原生 API,直接调用以下接口即可触发 CronJob 立即运行,和页面点击“立即运行”效果完全一致:

  • 请求方式:POST
  • 接口路径:/k8s/clusters/<集群ID>/apis/batch/v1/namespaces/<命名空间>/cronjobs/<CronJob名称>/run
  • 请求头:需携带 Rancher 认证 Token(控制台个人设置页生成),Content-Type: application/json
  • 请求体:无需内容,直接发送空 POST 请求

Workload 触发操作

针对 Deployment/StatefulSet 这类 Workload,没有直接的“立即运行”对应接口,可通过两种方式实现类似需求:

1. 触发 Workload 滚动更新

模拟 kubectl rollout restart 的逻辑,通过更新 Pod 模板的注解触发滚动重启:

  • 请求方式:PATCH
  • 接口路径:/k8s/clusters/<集群ID>/apis/apps/v1/namespaces/<命名空间>/deployments/<Deployment名称>
  • 请求体(JSON 格式):
    {
      "spec": {
        "template": {
          "metadata": {
            "annotations": {
              "kubectl.kubernetes.io/restartedAt": "<当前时间字符串,如2024-05-20T10:00:00Z>"
            }
          }
        }
      }
    }
    

2. 基于 Workload 模板创建一次性 Pod

如果需要生成一个和 Workload 配置一致的临时 Pod,步骤如下:

  1. 先获取目标 Workload 的 Pod 模板:
    • 请求方式:GET
    • 接口路径:/k8s/clusters/<集群ID>/apis/apps/v1/namespaces/<命名空间>/deployments/<Deployment名称>
  2. 提取响应中 spec.template 部分,修改 metadata.name 为临时名称(避免冲突),移除 Workload 相关的标签/注解
  3. 发送创建 Pod 请求:
    • 请求方式:POST
    • 接口路径:/k8s/clusters/<集群ID>/api/v1/namespaces/<命名空间>/pods
    • 请求体:修改后的 spec.template 内容

关键参数说明

  • 集群ID:可从 Rancher 集群详情页的 URL 中获取,格式为 c-m-xxxxxx
  • 认证Token:需具备目标集群、命名空间的编辑权限(至少能操作 CronJob、Workload、Pod)

内容的提问来源于stack exchange,提问作者what's_in_a_name

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 22:47:24