Criei um Job Programado do Kubernetes , que é executado duas vezes por dia de acordo com sua programação. No entanto, gostaria de acioná-lo manualmente para fins de teste. Como posso fazer isso?
115
Criei um Job Programado do Kubernetes , que é executado duas vezes por dia de acordo com sua programação. No entanto, gostaria de acioná-lo manualmente para fins de teste. Como posso fazer isso?
O problema # 47538 que @jdf mencionou agora está encerrado e isso agora é possível. A implementação original pode ser encontrada aqui, mas a sintaxe mudou.
Com kubectl v1.10.1 +, o comando é:
kubectl create job --from=cronjob/<cronjob-name> <job-name>
Parece ser retrocompatível com clusters mais antigos, pois funcionou para mim na v0.8.x.
gcloud components install kubectl
então kubernetes.io/docs/tasks/tools/install-kubectlVocê pode criar um trabalho simples com base em seu ScheduledJob. Se você já executa um ScheduledJob, há trabalhos no histórico.
Exporte um destes trabalhos:
Em seguida, edite o yaml um pouco, apagando alguns campos desnecessários e execute-o manualmente:
fonte
*uid
campos e você pode removê-los facilmente com este comandosed -i '/uid:.*/d' my_job.yaml
EDITAR - Julho de 2018: veja a resposta de @pedro_sland, pois esse recurso já foi implementado
Minha resposta original abaixo permanecerá correta para as versões anteriores do kubectl anteriores à v1.10.1
========================================================== ========================
Além de criar um novo emprego (como as outras respostas sugeriram), não há uma maneira atual de fazer isso. É uma solicitação de recurso com o kubernetes agora que pode ser rastreada aqui: https://github.com/kubernetes/kubernetes/issues/47538
fonte
Infelizmente, nenhum dos exemplos de sintaxe acima funciona no Google Kubernetes Engine (GCP). Além disso, os próprios documentos do GKE estão errados. :(
No Kubernetes
1.10.6.gke-2
, a sintaxe de trabalho éfonte
Eu criei um pequeno utilitário cmd por conveniência para fazer exatamente isso e também suspender e cancelar a suspensão de cronjobs.
https://github.com/iJanki/kubecron
fonte
Se você quiser testar o trabalho, crie uma configuração de trabalho a partir de sua configuração Cron Job (ScheduledJob) e execute-o manualmente usando o seguinte comando:
fonte
Existe uma opção para acionar o cron job manualmente nesta guia no painel do k8s
fonte