All Products
Search
Document Center

SchedulerX:Pekerjaan Kubernetes

Last Updated:Jun 29, 2025

Topik ini menjelaskan cara menginstal schedulerx-agent di kubernetes untuk mengaktifkan penjadwalan terjadwal pada pod atau pekerjaan Kubernetes asli, termasuk pemantauan status, pelaporan kesalahan, pengumpulan log, dan diagnosis.

Ikhtisar

Gambar berikut menunjukkan prinsip kerja penjadwalan pekerjaan untuk pekerjaan Kubernetes.

image

Tabel berikut membandingkan pekerjaan Kubernetes dan pekerjaan skrip dalam berbagai skenario.

Skenario

Pekerjaan skrip

Pekerjaan Kubernetes

Penjadwalan skrip jarang dilakukan dan mengonsumsi sejumlah besar sumber daya selama eksekusi.

Tidak direkomendasikan. Setiap kali proses anak dibuat untuk menjalankan skrip, itu mengonsumsi sumber daya pada mesin host agen, yang berisiko membebani sistem secara maksimal.

Direkomendasikan. Dengan memanfaatkan kebijakan penyeimbangan beban Kubernetes, setiap skrip berjalan di pod yang disediakan secara dinamis, memastikan stabilitas tinggi.

Skrip sering dieksekusi dan mengonsumsi sedikit sumber daya.

Direkomendasikan. Membuat proses anak untuk menjalankan skrip menawarkan eksekusi cepat dan pemanfaatan sumber daya yang tinggi.

Tidak direkomendasikan. Menarik gambar dan memulai pod relatif lambat. Selain itu, panggilan API server yang sering untuk penjadwalan pod atau pekerjaan dapat memicu pembatasan API server.

Membangun dependensi.

Secara manual menyebarkan dependensi ke instance ECS terlebih dahulu.

Jika dependensi dari gambar dasar dimodifikasi, Anda harus merekonstruksi gambar dasar.

Prasyarat

SchedulerX harus terhubung ke kluster Kubernetes yang diinginkan. Untuk informasi lebih lanjut, lihat Terapkan SchedulerX di kluster Kubernetes.

Buat pekerjaan Kubernetes

Skrip Shell

Untuk menjalankan skrip Shell pada pod, Anda tidak perlu membangun image secara manual. Cukup buat pekerjaan Kubernetes menggunakan modul Task Management dari SchedulerX. Saat membuat pekerjaan, atur parameter Task type menjadi K8s dan parameter resource menjadi Shell-Script. Image default untuk pekerjaan Kubernetes adalah busybox, tetapi Anda dapat mengubahnya jika diperlukan.

1

Setelah menyelesaikan konfigurasi, klik Run once di kolom Actions pada halaman Task Management. Pod bernama schedulerx-shell-{JobId} akan dimulai di kluster yang dipilih, seperti yang ditunjukkan pada gambar berikut.7

Untuk melihat log operasional pod, buka halaman Task Management dan klik Historical records di kolom Actions dari pekerjaan Kubernetes. 7

Skrip Python

Untuk menjalankan skrip Python pada pod, Anda tidak perlu membangun image secara manual. Cukup buat pekerjaan Kubernetes menggunakan modul Task Management dari SchedulerX. Saat membuat pekerjaan, atur parameter Task type menjadi K8s dan parameter resource menjadi Python-Script. Image default untuk pekerjaan Kubernetes adalah Python, tetapi Anda dapat mengubahnya jika diperlukan.

2

Setelah menyelesaikan konfigurasi, klik Run once di kolom Actions pada halaman Task Management. Pod bernama schedulerx-python-{JobId} akan dimulai di kluster yang dipilih, seperti yang ditunjukkan pada gambar berikut.7

Untuk melihat log operasional pod, buka halaman Task Management dan klik Historical records di kolom Actions dari pekerjaan Kubernetes. 8

Skrip PHP

Untuk menjalankan skrip PHP pada pod, Anda tidak perlu membangun image secara manual. Cukup buat pekerjaan Kubernetes menggunakan modul Task Management dari SchedulerX. Saat membuat pekerjaan, atur parameter Task type menjadi K8s dan parameter resource menjadi Php-Script. Image default untuk pekerjaan Kubernetes adalah php:7.4-cli, tetapi Anda dapat mengubahnya jika diperlukan.

3

Setelah menyelesaikan konfigurasi, klik Run once di kolom Actions pada halaman Task Management. Pod bernama schedulerx-php-{JobId} akan dimulai di kluster yang dipilih, seperti yang ditunjukkan pada gambar berikut.12

Untuk melihat log operasional pod, buka halaman Task Management dan klik Historical records di kolom Actions dari pekerjaan Kubernetes. 8

Skrip Node.js

Untuk menjalankan skrip Node.js pada pod, Anda tidak perlu membangun image secara manual. Cukup buat pekerjaan Kubernetes menggunakan modul Task Management dari SchedulerX. Saat membuat pekerjaan, atur parameter Task type menjadi K8s dan parameter resource menjadi Node.js-Script. Image default untuk pekerjaan Kubernetes adalah node:16, tetapi Anda dapat mengubahnya jika diperlukan.

4

Setelah menyelesaikan konfigurasi, klik Run once di kolom Actions pada halaman Task Management. Pod bernama schedulerx-node-{JobId} akan dimulai di kluster yang dipilih, seperti yang ditunjukkan pada gambar berikut.8

Untuk melihat log operasional pod, buka halaman Task Management dan klik Historical records di kolom Actions dari pekerjaan Kubernetes. 8

Job-YAML

SchedulerX juga mendukung pekerjaan Kubernetes asli. Saat membuat pekerjaan Kubernetes asli, atur parameter Task type menjadi K8s dan parameter resource menjadi Job-YAML.

5

Setelah menyelesaikan konfigurasi, klik Run once di kolom Actions pada halaman Task Management. Pod dan pekerjaan akan dimulai di kluster yang dipilih, seperti yang ditunjukkan pada gambar berikut. 8

Untuk melihat log operasional pod, buka halaman Task Management dan klik Historical records di kolom Actions dari pekerjaan Kubernetes. 8

Penting

Saat membuat pekerjaan Kubernetes menggunakan SchedulerX, kami merekomendasikan agar Anda tidak mengatur parameter resource menjadi CronJob-YAML. Gunakan SchedulerX untuk menjadwalkan pekerjaan jika Anda ingin mengumpulkan catatan historis dan log operasional pod.

Pod-YAML

SchedulerX juga mendukung pod Kubernetes asli. Jika Anda ingin membuat pekerjaan Kubernetes pada pod Kubernetes asli menggunakan SchedulerX, atur parameter Task type menjadi K8s dan parameter resource menjadi Pod-YAML.

6

Setelah menyelesaikan konfigurasi, klik Run once di kolom Actions pada halaman Task Management . Pod Kubernetes asli akan dimulai di kluster Kubernetes yang dipilih, seperti yang ditunjukkan pada gambar berikut. 9

Untuk melihat log operasional pod, buka halaman Task Management dan klik Historical records di kolom Actions dari pekerjaan Kubernetes. 9

Penting

Kami merekomendasikan agar Anda tidak memulai pod Kubernetes dengan siklus hidup panjang, seperti pod yang menjalankan aplikasi web dan tidak pernah berhenti setelah dimulai. Untuk mencegah pod dimulai ulang berulang kali, atur kebijakan restart menjadi Never.

Memperoleh parameter pekerjaan berdasarkan variabel lingkungan

SchedulerX mendukung parameter pekerjaan yang telah dikonfigurasi sebelumnya dalam variabel lingkungan. Baik itu pekerjaan skrip, pod, atau pekerjaan Kubernetes asli, SchedulerX dapat membaca parameter pekerjaan dari variabel lingkungan, yang menyederhanakan pembuatan pekerjaan.

Catatan

Versi Schedulerx-Agent harus 1.10.14 atau lebih baru.

Kunci

Deskripsi

SCHEDULERX_JOB_NAME

Nama pekerjaan.

SCHEDULERX_SCHEDULE_TIMESTAMP

Waktu ketika pekerjaan dijadwalkan.

SCHEDULERX_DATA_TIMESTAMP

Waktu ketika data pekerjaan diproses.

SCHEDULERX_WORKFLOW_INSTANCE_ID

ID alur kerja.

SCHEDULERX_JOB_PARAMETERS

Parameter pekerjaan.

SCHEDULERX_INSTANCE_PARAMETERS

Parameter instans pekerjaan.

SCHEDULERX_JOB_SHARDING_PARAMETER

Parameter sharding pekerjaan.

Gambar berikut menunjukkan contoh parameter pekerjaan yang dibaca oleh SchedulerX.

image

Manfaat

Dibandingkan dengan pekerjaan Kubernetes asli, pekerjaan Kubernetes yang dibuat menggunakan SchedulerX memberikan manfaat berikut:

Pengeditan skrip online

Dalam banyak kasus, pekerjaan Kubernetes adalah pekerjaan skrip yang digunakan untuk pemrosesan data dan O&M. Pekerjaan Kubernetes asli mengharuskan Anda untuk mengemas skrip ke dalam image dan mengonfigurasi perintah skrip dalam file YAML. Oleh karena itu, setiap kali Anda ingin memodifikasi skrip, Anda harus membangun ulang dan merilis image Anda, yang merupakan proses yang membosankan. Contoh:

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

Jika Anda menggunakan SchedulerX untuk mengelola pekerjaan Kubernetes, Anda tidak perlu membangun ulang image atau mengompilasi skrip dalam file YAML. Konsol SchedulerX mendukung pengeditan skrip online dalam bahasa pemrograman Shell, Python, PHP, dan Node.js. Setelah Anda selesai mengedit, SchedulerX secara otomatis menjalankan versi baru skrip dalam mode pod. Jika Anda ingin memperbarui skrip, Anda hanya perlu memodifikasi skrip dan menyimpan modifikasi di konsol SchedulerX. Lain kali SchedulerX menjadwalkan pekerjaan Kubernetes, modifikasi tersebut secara otomatis diterapkan. Ini sangat meningkatkan efisiensi pengembangan dan pengelolaan pekerjaan Kubernetes. Selain itu, fitur pekerjaan Kubernetes yang disediakan oleh SchedulerX sepenuhnya menyembunyikan detail kontainer. Bagi pengembang yang tidak terbiasa dengan layanan kontainer, fitur ini tanpa diragukan lagi meningkatkan efisiensi pengembangan dan membawa kemudahan besar.

Contoh:

image

Orkestrasi pekerjaan visual

Dalam ekosistem Kubernetes, Argo adalah alat orkestrasi alur kerja yang populer. Contoh:

# Alur kerja berikut mengeksekusi alur kerja berlian
# 
#   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}}"]

Fitur alur kerja SchedulerX menyediakan antarmuka visual intuitif bagi Anda untuk secara efektif mengatur pekerjaan Kubernetes dengan seret dan lepas, seperti yang ditunjukkan pada gambar berikut.

imageDibandingkan dengan Argo, SchedulerX memberikan pengalaman pengguna yang lebih baik. Lebih mudah digunakan dan memvisualisasikan alur kerja pekerjaan. Ini membantu Anda dengan mudah melacak kemajuan pekerjaan dan menemukan langkah-langkah di mana pekerjaan terhambat serta memecahkan masalah, seperti yang ditunjukkan pada gambar berikut.

image

Peringatan dan pemantauan

Jika Anda menggunakan SchedulerX untuk menjadwalkan pod dan pekerjaan Anda, Anda dapat sepenuhnya memanfaatkan mekanisme peringatan dan pemantauan bawaan. Hal ini memungkinkan pelacakan status pekerjaan secara efektif dan peringatan atas pengecualian.

  • SchedulerX mendukung metode notifikasi peringatan berikut: pesan teks, panggilan telepon, email, dan WebHook (DingTalk, WeCom, dan Lark).

  • SchedulerX mendukung kebijakan peringatan berikut: peringatan saat gagal dan peringatan saat waktu eksekusi habis.

Logging

Jika Anda menggunakan SchedulerX untuk menjadwalkan pod dan pekerjaan Anda, Anda tidak perlu mengaktifkan layanan log tambahan seperti Simple Log Service. SchedulerX secara otomatis mengumpulkan log operasional pod. Begitu sebuah pod gagal berjalan, Anda dapat pergi ke konsol SchedulerX untuk melihat dan menganalisis detail kegagalan serta secara efektif memecahkan masalah dan men-debug pod.

image

Dasbor pemantauan

Jika Anda menggunakan SchedulerX untuk menjadwalkan pod dan pekerjaan Anda, Anda dapat melihat fitur pemantauan pekerjaan bawaan tanpa perlu mengaktifkan Managed Service for Prometheus.

image

Penyebaran campuran pekerjaan online dan offline

Jika Anda memiliki pekerjaan terjadwal online yang memerlukan performa real-time tinggi, seperti pekerjaan pemrosesan pesanan, Anda dapat memanggil metode dalam proses yang sama dengan pekerjaan online lainnya untuk secara efektif memproses pekerjaan tersebut. Hal ini memastikan integrasi tanpa hambatan pekerjaan terjadwal online ke dalam bisnis online. Jika Anda memiliki pekerjaan terjadwal offline yang memerlukan performa real-time rendah tetapi mengonsumsi banyak sumber daya, seperti pekerjaan pembuatan laporan keuangan, Anda dapat mengompilasi skrip dan memulai pod terpisah untuk menjalankan pekerjaan tersebut. SchedulerX mendukung pekerjaan Java dan Kubernetes serta memungkinkan penyebaran dan penjadwalan campuran pekerjaan online dan offline, yang memberikan solusi fleksibel yang memenuhi berbagai kebutuhan bisnis.