J'ai créé une tâche planifiée Kubernetes , qui s'exécute deux fois par jour selon son calendrier. Cependant, je voudrais le déclencher manuellement à des fins de test. Comment puis-je faire ceci?
115
J'ai créé une tâche planifiée Kubernetes , qui s'exécute deux fois par jour selon son calendrier. Cependant, je voudrais le déclencher manuellement à des fins de test. Comment puis-je faire ceci?
La question # 47538 que @jdf mentionné est maintenant fermé et cela est désormais possible. L'implémentation d'origine peut être trouvée ici mais la syntaxe a changé.
Avec kubectl v1.10.1 + la commande est:
kubectl create job --from=cronjob/<cronjob-name> <job-name>
Il semble être rétrocompatible avec les anciens clusters car cela fonctionnait pour moi sur la v0.8.x.
gcloud components install kubectl
puis kubernetes.io/docs/tasks/tools/install-kubectlVous pouvez créer un travail simple basé sur votre ScheduledJob. Si vous exécutez déjà un ScheduledJob, il y a des travaux dans l'historique.
Exportez l'un de ces travaux:
Ensuite, modifiez un peu le yaml, en effaçant certains champs inutiles et exécutez-le manuellement:
la source
*uid
champs et vous pouvez les supprimer facilement par cette commandesed -i '/uid:.*/d' my_job.yaml
EDIT - Juillet 2018: voir la réponse de @ pedro_sland car cette fonctionnalité est désormais implémentée
Ma réponse originale ci-dessous restera correcte pour les anciennes versions de kubectl inférieures à la v1.10.1
=================================================== =======================
Mis à part la création d'un nouvel emploi (comme les autres réponses l'ont suggéré), il n'existe actuellement aucun moyen de le faire. Il s'agit d'une demande de fonctionnalité avec kubernetes maintenant qui peut être suivie ici: https://github.com/kubernetes/kubernetes/issues/47538
la source
Malheureusement, aucun des exemples de syntaxe ci-dessus ne fonctionne dans Google Kubernetes Engine (GCP). De plus, les documents GKE eux-mêmes sont erronés. :(
Dans Kubernetes
1.10.6.gke-2
, la syntaxe de travail estla source
J'ai créé un petit utilitaire cmd pour plus de commodité pour faire exactement cela et aussi pour suspendre et annuler la suspension de cronjobs.
https://github.com/iJanki/kubecron
la source
Si vous voulez tester le travail, créer un emploi config de votre Cron Job (ScheduledJob) config et l' exécuter manuellement à l' aide de la commande suivante:
la source
Il existe une option pour déclencher la tâche cron manuellement dans cet onglet du tableau de bord k8s
la source