আমি কীভাবে ম্যানুয়ালি একটি কুবারনেটস তফসিলযুক্ত কাজটি ট্রিগার করতে পারি?


115

আমি একটি কুবেরনেটস তফসিলি কাজ তৈরি করেছি , যা তার সময়সূচী অনুসারে দিনে দু'বার চলে। তবে আমি পরীক্ষার উদ্দেশ্যে এটি ম্যানুয়ালি ট্রিগার করতে চাই। কিভাবে আমি এটি করতে পারব?

উত্তর:


186

ইস্যু # 47538 যে উল্লিখিত @jdf এখন বন্ধ করা হয় এবং এই এখন সম্ভব। আসল বাস্তবায়নটি এখানে পাওয়া যাবে তবে বাক্য গঠনটি পরিবর্তিত হয়েছে।

Kubectl v1.10.1 সহ + কমান্ডটি হ'ল:

kubectl create job --from=cronjob/<cronjob-name> <job-name>

এটি v0.8.x এ আমার জন্য কাজ করায় এটি পুরানো ক্লাস্টারের সাথে পশ্চাদপটে সামঞ্জস্যপূর্ণ বলে মনে হচ্ছে।


3
আপনার কুবেক্টেলের সংস্করণটি পরীক্ষা করতে ভুলবেন না, 5-10/18 পর্যন্ত গুগল ক্লাউড এসডিকে-র মাধ্যমে ইনস্টল করা সংস্করণটিতে এই কমান্ডটি উপলব্ধ নেই। gcloud components install kubectlতারপরে kubernetes.io/docs/tasks/tools/install-kubectl
স্কট জংউথ

18

আপনি আপনার শিড্যডজব এর উপর ভিত্তি করে একটি সাধারণ কাজ তৈরি করতে পারেন। আপনি যদি ইতিমধ্যে একটি শিডিউলজব পরিচালনা করেন তবে ইতিহাসে কাজ রয়েছে।

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

1
"কিছু অপ্রয়োজনীয় ক্ষেত্র মোছা" সম্পর্কে কেবলমাত্র ছোট সংযোজন। কুবেরনেটস *uidক্ষেত্র সম্পর্কে অভিযোগ করছে এবং আপনি এই আদেশ দ্বারা এগুলি সহজেই মুছে ফেলতে পারেনsed -i '/uid:.*/d' my_job.yaml
আলেকসান্ডার পোডকুটিন

ইতিহাসে ইতিমধ্যে কাজ রয়েছে এমন ধারণা প্রায়শই ধরে থাকে না।
অ্যান্ড্রু সাভিনিখ

9

সম্পাদনা - জুলাই 2018: দেখুন @ পেড্রো_স্ল্যান্ডের উত্তরটি যেমন এখন এই বৈশিষ্ট্যটি প্রয়োগ করা হয়েছে

নীচের আমার মূল উত্তরটি v1.10.1 এর চেয়ে কম কুবেটেলের পুরানো সংস্করণগুলির জন্য সঠিক থাকবে

================================================== ======================

একটি নতুন কাজ তৈরি করা বাদে (অন্যান্য উত্তরগুলির পরামর্শ অনুসারে) এটি করার কোনও বর্তমান উপায় নেই। এটি এখন কুবেরনেটের সাথে একটি বৈশিষ্ট্য অনুরোধ যা এখানে ট্র্যাক করা যায়: https://github.com/kubernetes/kubernetes/issues/47538


7

দুর্ভাগ্যক্রমে, উপরের উদাহরণ সিনট্যাক্সগুলির কোনওটিই Google কুবারনেটস ইঞ্জিন (জিসিপি) এ কাজ করে না। এছাড়াও, নিজেরাই জিকেই ডক্স ভুল। :(

কুবারনেটসে 1.10.6.gke-2, ওয়ার্কিং সিনট্যাক্সটি হয়

kubectl create job <your-new-job-name> --from=cronjob/<name-of-deployed-cron-job> -n <target namespace>

ক্রোন কাজের স্থিতিস্থাপকতা নিয়ে সমস্যা সমাধানের জন্য দুর্দান্ত, ধন্যবাদ!
লুকাশস

3

এটি করার সুবিধার্থে আমি একটি ছোট সেন্টিমিডি ইউটিলিটি তৈরি করেছি এবং স্থগিত এবং সাসপেন্ড ক্রোনজবগুলিও।

https://github.com/iJanki/kubecron


0

আপনি যদি চাকরিটি পরীক্ষা করতে চান তবে আপনার ক্রোন জব ( শিড্যডজব ) কনফিগারেশন থেকে একটি জব কনফিগারেশন তৈরি করুন এবং নিম্নলিখিত কমান্ডটি ব্যবহার করে ম্যানুয়ালি এটি চালান:

kubectl create -f ./job.yaml

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.