SchedulerX支持定时调度程序、多语言脚本和HTTP接口,也支持调度原生的K8s Job或者Pod。本文介绍如何在Kubernetes环境中部署SchedulerX。
前提条件
接入SchedulerX,具体操作,请参见在Kubernetes集群中部署SchedulerX。
创建K8s任务
Shell脚本
如果想通过Pod运行Shell脚本,不需要自己构建镜像,只需要在任务管理创建一个K8s任务,资源类型选择Shell-Script,镜像默认是busybox(也可以替换为自己的镜像)。
单击运行一次,在Kubernetes集群中可以看到Pod启动,Pod名称为schedulerx-shell-{JobId}。
在SchedulerX控制台任务管理页面可以查询历史执行记录,也可以看到Pod运行的日志。
Python脚本
如果想通过Pod运行Python脚本,不需要自己构建镜像,只需要在任务管理创建一个K8s任务,资源类型选择Python-Script,镜像默认是Python(也可以替换为自己的镜像)。
单击运行一次,在Kubernetes集群中可以看到Pod启动,Pod名称为schedulerx-python-{JobId}。
在SchedulerX控制台任务管理页面可以查询历史执行记录,也可以看到Pod运行的日志。
PHP脚本
如果想通过Pod运行PHP脚本,不需要自己构建镜像,只需要在任务管理创建一个K8s任务,资源类型选择Php-Script,镜像默认是php:7.4-cli(也可以替换自己的镜像)。
单击运行一次,在Kubernetes集群中可以看到Pod启动,Pod名称为schedulerx-php-{JobId}。
在SchedulerX控制台任务管理页面可以查询历史执行记录,也可以看到Pod运行的日志
Node.js脚本
如果想通过Pod运行Node.js脚本,不需要自己构建镜像,只需要在任务管理创建一个K8s任务,资源类型选择Nodejs-Script,镜像默认是node:16(也可以替换自己的镜像)。
单击运行一次,在Kubernetes集群中可以看到Pod启动,Pod名称为schedulerx-node-{JobId}。
在SchedulerX控制台任务管理页面可以查询历史执行记录,也可以看到Pod运行的日志。
Job-YAML
通过SchedulerX也可以运行K8s原生的Job,任务类型选择K8s,资源类型选择Job-YAML。
单击运行一次,在Kubernetes集群中可以看到Job和Pod启动成功。
在SchedulerX控制台任务管理页面可以查询历史执行记录,也可以看到Pod运行的日志。
重要 通过SchedulerX运行K8s Job,不建议使用CronJob,定时调度需要使用SchedulerX来配置,否则无法收集每次Pod的执行历史和日志。
Pod-YAML
通过SchedulerX也可以运行K8s原生的Pod,任务类型选择K8s,资源类型选择Pod-YAML。
单击运行一次,在Kubernetes集群中可以看到Pod启动成功。
在SchedulerX控制台任务管理页面可以查询历史执行记录,也可以看到Pod运行的日志。
重要 通过SchedulerX运行K8s Pod,建议不要运行长周期的Pod(比如Web应用,一旦启动永远不会结束),重启策略需要设置成Never(否则Pod会不断重启)。
文档内容是否对您有帮助?