Creé un trabajo programado de Kubernetes , que se ejecuta dos veces al día según su programación. Sin embargo, me gustaría activarlo manualmente con fines de prueba. ¿Cómo puedo hacer esto?
115
Creé un trabajo programado de Kubernetes , que se ejecuta dos veces al día según su programación. Sin embargo, me gustaría activarlo manualmente con fines de prueba. ¿Cómo puedo hacer esto?
El problema # 47538 que mencionó @jdf ahora está cerrado y ahora es posible. La implementación original se puede encontrar aquí, pero la sintaxis ha cambiado.
Con kubectl v1.10.1 + el comando es:
kubectl create job --from=cronjob/<cronjob-name> <job-name>
Parece ser compatible con versiones anteriores de clústeres más antiguos, ya que me funcionó en v0.8.x.
gcloud components install kubectl
luego kubernetes.io/docs/tasks/tools/install-kubectlPuede crear un trabajo simple basado en su trabajo programado. Si ya ejecuta un trabajo programado, hay trabajos en el historial.
Exporta uno de estos trabajos:
Luego edite el yaml un poco, borre algunos campos innecesarios y ejecútelo manualmente:
fuente
*uid
campos y puede eliminarlos fácilmente con este comandosed -i '/uid:.*/d' my_job.yaml
EDITAR - julio de 2018: consulte la respuesta de @ pedro_sland ya que esta función ya se ha implementado
Mi respuesta original a continuación seguirá siendo correcta para versiones anteriores de kubectl inferiores a v1.10.1
================================================ ======================
Además de crear un nuevo trabajo (como han sugerido las otras respuestas), no existe una forma actual de hacerlo. Es una solicitud de función en kubernetes ahora que se puede rastrear aquí: https://github.com/kubernetes/kubernetes/issues/47538
fuente
Desafortunadamente, ninguna de las sintaxis de ejemplo anteriores funciona en Google Kubernetes Engine (GCP). Además, los propios documentos de GKE están equivocados. :(
En Kubernetes
1.10.6.gke-2
, la sintaxis de trabajo esfuente
He creado una pequeña utilidad cmd por conveniencia para hacer precisamente eso y también suspender y anular la suspensión de cronjobs.
https://github.com/iJanki/kubecron
fuente
Si desea probar el trabajo, cree una configuración de trabajo a partir de su configuración de trabajo cron (ScheduledJob) y ejecútela manualmente con el siguiente comando:
fuente
Hay una opción para activar el trabajo cron manualmente dentro de esta pestaña en el panel de k8s
fuente