Saya telah membuat Pekerjaan Terjadwal Kubernetes , yang berjalan dua kali sehari sesuai dengan jadwalnya. Namun, saya ingin memicunya secara manual untuk tujuan pengujian. Bagaimana saya bisa melakukan ini?
115
Saya telah membuat Pekerjaan Terjadwal Kubernetes , yang berjalan dua kali sehari sesuai dengan jadwalnya. Namun, saya ingin memicunya secara manual untuk tujuan pengujian. Bagaimana saya bisa melakukan ini?
Masalah # 47538 yang @jdf sebutkan sekarang sudah ditutup dan sekarang mungkin. Implementasi asli dapat ditemukan di sini tetapi sintaksnya telah berubah.
Dengan kubectl v1.10.1 + perintahnya adalah:
kubectl create job --from=cronjob/<cronjob-name> <job-name>
Tampaknya kompatibel dengan cluster yang lebih lama seperti yang berfungsi untuk saya di v0.8.x.
gcloud components install kubectl
lalu kubernetes.io/docs/tasks/tools/install-kubectlAnda dapat membuat pekerjaan sederhana berdasarkan ScheduledJob Anda. Jika Anda sudah menjalankan ScheduledJob, ada pekerjaan dalam sejarah.
Ekspor salah satu pekerjaan ini:
Kemudian edit yaml sedikit, hapus beberapa bidang yang tidak perlu dan jalankan secara manual:
sumber
*uid
field dan Anda dapat menghapusnya dengan mudah dengan perintah inised -i '/uid:.*/d' my_job.yaml
EDIT - Juli 2018: lihat jawaban @ pedro_sland karena fitur ini telah diterapkan
Jawaban asli saya di bawah ini akan tetap benar untuk versi kubectl yang lebih lama kurang dari v1.10.1
================================================== ======================
Selain menciptakan pekerjaan baru (seperti yang disarankan jawaban lain), tidak ada cara saat ini untuk melakukan ini. Ini adalah permintaan fitur dalam kubernetes sekarang yang dapat dilacak di sini: https://github.com/kubernetes/kubernetes/issues/47538
sumber
Sayangnya, tidak ada sintaks contoh di atas yang berfungsi di Google Kubernetes Engine (GCP). Selain itu, dokumen GKE itu sendiri salah. :(
Di Kubernetes
1.10.6.gke-2
, sintaks yang berfungsi adalahsumber
Saya telah membuat utilitas cmd kecil untuk kenyamanan melakukan hal itu dan juga menangguhkan dan membatalkan penangguhan cronjobs.
https://github.com/iJanki/kubecron
sumber
Jika Anda ingin menguji pekerjaan, buat konfigurasi Pekerjaan dari konfigurasi Cron Job (ScheduledJob) Anda dan jalankan secara manual menggunakan perintah berikut:
sumber
Ada opsi untuk memicu pekerjaan cron secara manual di dalam tab ini di dasbor k8s
sumber