मैंने कुबेरनेट्स शेड्यूल्ड जॉब बनाई है , जो अपने शेड्यूल के अनुसार दिन में दो बार चलती है। हालांकि, मैं इसे परीक्षण उद्देश्यों के लिए मैन्युअल रूप से ट्रिगर करना चाहूंगा। मैं यह कैसे कर सकता हूँ?
मैंने कुबेरनेट्स शेड्यूल्ड जॉब बनाई है , जो अपने शेड्यूल के अनुसार दिन में दो बार चलती है। हालांकि, मैं इसे परीक्षण उद्देश्यों के लिए मैन्युअल रूप से ट्रिगर करना चाहूंगा। मैं यह कैसे कर सकता हूँ?
जवाबों:
मुद्दा # 47,538 कि उल्लेख किया @jdf अब बंद हो गया है और यह अब संभव है। मूल कार्यान्वयन यहाँ पाया जा सकता है लेकिन वाक्यविन्यास बदल गया है।
Kubectl v1.10.1 + के साथ कमांड है:
kubectl create job --from=cronjob/<cronjob-name> <job-name>
यह पुराने समूहों के साथ पिछड़े संगत लगता है क्योंकि इसने मेरे लिए v0.8.x पर काम किया था।
आप अपने शेड्यूल्डजॉब के आधार पर एक साधारण नौकरी बना सकते हैं। यदि आप पहले से ही शेड्यूलजॉब चलाते हैं, तो इतिहास में नौकरियां हैं।
kubectl get jobs
NAME DESIRED SUCCESSFUL AGE
hello-1477281595 1 1 11m
hello-1553106750 1 1 12m
hello-1553237822 1 1 9m
इनमें से एक काम का निर्यात करें:
kubectl get job hello-1477281595 -o yaml > my_job.yaml
फिर यम को थोड़ा संपादित करें, कुछ अनावश्यक क्षेत्रों को मिटा दें और इसे मैन्युअल रूप से चलाएं:
kubectl create -f my_job.yaml
kubectl delete -f my_job.yaml
*uid
खेतों के बारे में शिकायत कर रहे हैं और आप उन्हें इस आदेश द्वारा आसानी से हटा सकते हैंsed -i '/uid:.*/d' my_job.yaml
EDIT - जुलाई 2018: @ pedro_sland का उत्तर देखें क्योंकि यह सुविधा अब लागू हो चुकी है
नीचे मेरा मूल उत्तर v1.10.1 से कम के कुब्लेट के पुराने संस्करणों के लिए सही रहेगा
================================================== ======================
एक नई नौकरी बनाने के अलावा (जैसा कि अन्य उत्तरों ने सुझाव दिया है), ऐसा करने का कोई मौजूदा तरीका नहीं है। यह कुबेरनेट्स के साथ एक सुविधा अनुरोध है जिसे अब यहां ट्रैक किया जा सकता है: https://github.com/kubernetes/kubernetes/issues/47538
दुर्भाग्य से, ऊपर का कोई भी सिंटैक्स Google Kubernetes Engine (GCP) में काम नहीं करता है। इसके अलावा, GKE डॉक्स स्वयं गलत हैं। :(
कुबेरनेट्स में 1.10.6.gke-2
, कार्य सिंटैक्स है
kubectl create job <your-new-job-name> --from=cronjob/<name-of-deployed-cron-job> -n <target namespace>
मैंने सुविधा के लिए एक छोटा सा cmd यूटिलिटी बनाया है जो सिर्फ और सिर्फ सस्पेंड और क्रॉन्ज को अनसेंड करता है।
इस टैब को k8s डैशबोर्ड में मैन्युअल रूप से क्रॉन जॉब को ट्रिगर करने का विकल्प है
gcloud components install kubectl
उसके बाद kubernetes.io/docs/tasks/tools/install-kubectl