Todos los productos
Search
Centro de documentos

SchedulerX:Trabajos de Kubernetes

Última actualización: Sep 17, 2026

SchedulerX permite programar periódicamente programas, ejecutar scripts en distintos lenguajes y llamar operaciones HTTP. También admite la programación de trabajos y pods nativos de Kubernetes. En este tema se describe cómo desplegar SchedulerX en un clúster de Kubernetes.

Requisitos previos

SchedulerX debe estar conectado al clúster de Kubernetes deseado. Para obtener más información, consulte Deploy SchedulerX in a Kubernetes cluster.

Creación de un trabajo de Kubernetes

Script de shell

Si desea ejecutar un script de shell en un pod, no necesita compilar manualmente una imagen. Solo tiene que crear un trabajo de Kubernetes mediante el módulo Task Management de SchedulerX. Al crear el trabajo, establezca el parámetro Task type en K8s y el parámetro resource en Shell-Script. La imagen predeterminada del trabajo es busybox, aunque también puede cambiarla.

1

Una vez completada la configuración, haga clic en Run once dentro de la columna Actions del trabajo, en la página Task Management. Con esto se inicia un pod llamado schedulerx-shell-{JobId} en el clúster indicado, tal como se muestra en la siguiente figura.7

Para consultar los registros operativos del pod, vaya a la página Task Management y haga clic en Historical records dentro de la columna Actions del trabajo de Kubernetes. 7

Script de Python

Cuando necesite ejecutar un script de Python en un pod, no hace falta compilar una imagen de forma manual. Basta con crear un trabajo de Kubernetes desde el módulo Task Management de SchedulerX. Durante la creación, establezca el parámetro Task type en K8s y el parámetro resource en Python-Script. La imagen predeterminada es Python, pero usted puede modificarla si lo requiere.

2

Después de completar la configuración, haga clic en Run once dentro de la columna Actions del trabajo, en la página Task Management. Esto iniciará un pod llamado schedulerx-python-{JobId} en el clúster correspondiente, como se observa en la siguiente figura.7

Para revisar los registros operativos del pod, diríjase a la página Task Management y haga clic en Historical records dentro de la columna Actions del trabajo de Kubernetes. 8

Script de PHP

Si su objetivo es ejecutar un script de PHP en un pod, evite compilar una imagen manualmente. Cree el trabajo de Kubernetes directamente desde el módulo Task Management de SchedulerX. Al hacerlo, configure el parámetro Task type en K8s y el parámetro resource en Php-Script. La imagen predeterminada asignada es php:7.4-cli, misma que puede sustituir según sus necesidades.

3

Al terminar la configuración, haga clic en Run once dentro de la columna Actions del trabajo, ubicado en la página Task Management. A continuación, se iniciará un pod con el nombre schedulerx-php-{JobId} en el clúster elegido, tal como ilustra la siguiente figura.12

Consulte los registros operativos del pod desde la página Task Management. Para ello, haga clic en Historical records dentro de la columna Actions del trabajo de Kubernetes. 8

Script de Node.js

Para ejecutar un script de Node.js en un pod, no es necesario construir una imagen de manera manual. Utilice el módulo Task Management de SchedulerX para crear el trabajo de Kubernetes. Durante este proceso, establezca el parámetro Task type en K8s y el parámetro resource en Node.js-Script. La imagen predeterminada del trabajo es node:16, la cual puede reemplazar si así lo requiere.

4

Una vez configurado todo, haga clic en Run once dentro de la columna Actions del trabajo, en la página Task Management. De esta forma se inicia un pod denominado schedulerx-node-{JobId} en el clúster especificado, como se aprecia en la siguiente figura.8

Acceda a la página Task Management y haga clic en Historical records dentro de la columna Actions del trabajo de Kubernetes para consultar los registros operativos del pod. 8

Job-YAML

SchedulerX también es compatible con los trabajos nativos de Kubernetes. Cuando cree uno de estos trabajos, establezca el parámetro Task type en K8s y el parámetro resource en Job-YAML.

5

Tras finalizar la configuración, haga clic en Run once dentro de la columna Actions del trabajo, en la página Task Management. Esto provocará que se inicien un pod y el trabajo en el clúster seleccionado, tal como se muestra a continuación. 8

Para ver los registros operativos del pod, abra la página Task Management y haga clic en Historical records dentro de la columna Actions del trabajo de Kubernetes. 8

Importante

Al crear un trabajo de Kubernetes con SchedulerX, se recomienda no establecer el parámetro resource en CronJob-YAML. Si necesita recopilar los registros históricos y operativos de los pods, programe los trabajos mediante SchedulerX.

Pod-YAML

SchedulerX también admite los pods nativos de Kubernetes. Para crear un trabajo sobre uno de estos pods mediante SchedulerX, establezca el parámetro Task type en K8s y el parámetro resource en Pod-YAML.

6

Cuando termine de configurar los valores, haga clic en Run once dentro de la columna Actions del trabajo, en la página Task Management . Como resultado, el pod nativo de Kubernetes se iniciará en el clúster indicado, según se ilustra en la siguiente figura. 9

Diríjase a la página Task Management y haga clic en Historical records dentro de la columna Actions del trabajo de Kubernetes para consultar los registros operativos del pod. 9

Importante

Se recomienda no iniciar pods de Kubernetes con un ciclo de vida prolongado, como aquellos que ejecutan aplicaciones web y nunca se detienen tras arrancar. Para evitar que los pods se reinicien repetidamente, establezca la política de reinicio en Never.

Obtención de parámetros del trabajo mediante variables de entorno

SchedulerX admite parámetros de trabajo preconfigurados en variables de entorno. Gracias a esto, el servicio lee dichos parámetros desde las variables sin importar si se trata de un trabajo de script, un pod o un trabajo nativo de Kubernetes. Este comportamiento simplifica la creación de trabajos.

Nota

La versión de Schedulerx-Agent debe ser 1.10.14 o posterior.

Clave

Descripción

SCHEDULERX_JOB_NAME

Nombre del trabajo.

SCHEDULERX_SCHEDULE_TIMESTAMP

Marca de tiempo en la que se programa el trabajo.

SCHEDULERX_DATA_TIMESTAMP

Marca de tiempo en la que se procesan los datos del trabajo.

SCHEDULERX_WORKFLOW_INSTANCE_ID

Identificador del flujo de trabajo.

SCHEDULERX_JOB_PARAMETERS

Parámetros del trabajo.

SCHEDULERX_INSTANCE_PARAMETERS

Parámetros de la instancia del trabajo.

SCHEDULERX_JOB_SHARDING_PARAMETER

Parámetros de fragmentación del trabajo.

A continuación se muestran los parámetros de ejemplo que lee SchedulerX.

image

Ventajas

Frente a los trabajos nativos de Kubernetes, los creados con SchedulerX ofrecen las siguientes ventajas:

Edición de scripts en línea

En la mayoría de los casos, los trabajos de Kubernetes son tareas de script destinadas al procesamiento de datos y a operaciones de administración y mantenimiento. Los trabajos nativos obligan a empaquetar los scripts en imágenes y a definir los comandos en archivos YAML. Por lo tanto, cada modificación exige recompilar y publicar la imagen, lo cual resulta tedioso. Ejemplo:

apiVersion: batch/v1
kind: Job
metadata:
  name: hello
spec:
  template:
    spec:
      containers:
      - name: hello
        image: busybox
        command: ["sh",  "/root/hello.sh"]
      restartPolicy: Never
  backoffLimit: 4

Si gestiona los trabajos de Kubernetes con SchedulerX, no tendrá que reconstruir imágenes ni integrar scripts en archivos YAML. La consola de SchedulerX permite editar en línea scripts escritos en Shell, Python, PHP y Node.js. Después de guardar los cambios, el servicio ejecuta automáticamente la nueva versión del script en modo pod. Para actualizar un script, basta con modificarlo y guardarlo en la consola; la próxima vez que SchedulerX programe el trabajo, los cambios surtirán efecto de inmediato. Esto mejora notablemente la eficiencia de desarrollo y administración. Además, la función de trabajos de Kubernetes oculta por completo los detalles de los contenedores. Para los desarrolladores que no están familiarizados con los servicios de contenedores, esta característica incrementa la productividad y aporta gran comodidad.

Ejemplo:

image

Orquestación visual de trabajos

Dentro del ecosistema de Kubernetes, Argo es una herramienta popular para orquestar flujos de trabajo. Ejemplo:

# The following workflow executes a diamond workflow
# 
#   A
#  / \
# B   C
#  \ /
#   D
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: dag-diamond-
spec:
  entrypoint: diamond
  templates:
  - name: diamond
    dag:
      tasks:
      - name: A
        template: echo
        arguments:
          parameters: [{name: message, value: A}]
      - name: B
        depends: "A"
        template: echo
        arguments:
          parameters: [{name: message, value: B}]
      - name: C
        depends: "A"
        template: echo
        arguments:
          parameters: [{name: message, value: C}]
      - name: D
        depends: "B && C"
        template: echo
        arguments:
          parameters: [{name: message, value: D}]

  - name: echo
    inputs:
      parameters:
      - name: message
    container:
      image: alpine:3.7
      command: [echo, "{{inputs.parameters.message}}"]

La función de flujo de trabajo de SchedulerX ofrece una interfaz visual intuitiva para orquestar trabajos de Kubernetes de manera eficaz, simplemente arrastrando y soltando elementos, como se muestra en la siguiente figura.

image En comparación con Argo, SchedulerX brinda una mejor experiencia de usuario. Su manejo es más sencillo y representa gráficamente los flujos de trabajo, lo que facilita dar seguimiento al progreso de los trabajos, identificar los pasos bloqueados y solucionar problemas, tal como se observa a continuación.

image

Alertas y monitoreo

Si utiliza SchedulerX para programar sus pods y trabajos, aprovechará al máximo el mecanismo integrado de alertas y monitoreo. Esto permite dar seguimiento eficaz al estado de los trabajos y recibir notificaciones ante cualquier anomalía.

  • SchedulerX admite los siguientes métodos de notificación de alertas: mensaje de texto, llamada telefónica, correo electrónico y WebHook (DingTalk, WeCom y Lark).

  • Las políticas de alerta disponibles incluyen avisos por fallo y avisos por tiempo de ejecución excedido.

Registros

Al programar pods y trabajos con SchedulerX, no es necesario activar servicios adicionales como Simple Log Service. El sistema recopila automáticamente los registros operativos de los pods. Si un pod falla durante su ejecución, acuda a la consola de SchedulerX para analizar los detalles del error, solucionar problemas y depurar el pod de forma eficaz.

image

Panel de monitoreo

Cuando emplea SchedulerX para programar pods y trabajos, dispone de funciones integradas de monitoreo sin necesidad de activar Managed Service for Prometheus.

image

Despliegue mixto de trabajos en línea y fuera de línea

Si cuenta con trabajos programados en línea que exigen alta capacidad de respuesta en tiempo real, como los de procesamiento de pedidos, invoque métodos dentro del mismo proceso que otros trabajos en línea. Así logrará procesarlos de manera eficiente e integrarlos sin problemas al negocio. Por otro lado, cuando maneje trabajos programados fuera de línea con requisitos de tiempo real menos estrictos pero alto consumo de recursos, como la generación de informes financieros, escriba scripts e inicie pods independientes para ejecutarlos. SchedulerX es compatible con trabajos de Java y de Kubernetes, además de permitir el despliegue y la programación mixta de cargas en línea y fuera de línea. Esto proporciona soluciones flexibles que satisfacen diversas necesidades empresariales.