আমি এই উত্তরটি এমনভাবে চালিয়ে যাচ্ছি যেন প্রশ্নটি ছিল "শেফ-সোলো এর সুবিধাগুলি কী কী" কারণ পন্থাগুলির মধ্যে পার্থক্যগুলি coverাকানোর জন্য এটিই আমি সেরা উপায়।
আমার সংক্ষিপ্ত সুপারিশটি অন্যের সাথে সঙ্গতিপূর্ণ: আপনি যদি একটি গতিশীল, ভার্চুয়ালাইজড পরিবেশ পরিচালনা করতে চান যেখানে আপনি প্রায়শই নোড যুক্ত এবং মুছে ফেলবেন এমন কোনও শেফ-সার্ভার ব্যবহার করুন। আপনার যদি প্রয়োজন হয় তবে শেফ সার্ভারও একটি ভাল সিএমডিবি । আপনার যদি কম গতিশীল পরিবেশ থাকে তবে নোডগুলি প্রায়শই পরিবর্তিত হয় না তবে ভূমিকা এবং রেসিপিগুলি হবে তা শেফ-একক ব্যবহার করুন। আপনার পরিবেশের আকার এবং জটিলতা কম-বেশি অপ্রাসঙ্গিক। উভয় পদ্ধতির খুব ভাল স্কেল।
যদি আপনি শেফ-একক মোতায়েন করেন তবে প্রতিটি নোডে শেফের সংগ্রহশালার সম্পূর্ণ অনুলিপি বজায় রাখার জন্য আরএসসিএন, 'গিট টান', বা অন্য কোনও আইডেম্পোটেন্ট ফাইল স্থানান্তর প্রক্রিয়া সহ ক্রোনজব ব্যবহার করুন। ক্রোনজব সহজেই কনফিগার করা উচিত (ক) মোটেও চালানো উচিত নয় এবং (খ) চালানো, তবে স্থানীয় সংগ্রহস্থল সিঙ্ক না করেই। প্রতিটি নোডের জন্য একটি জেসন ফাইলের সাথে আপনার শেফ রিপোজিটরিতে একটি নোড / ডিরেক্টরি যুক্ত করুন। আপনার ক্রোনজবব সঠিক নোডেফাইল সনাক্তকরণের ক্ষেত্রে যেমনটি চান তেমন পরিশীলিত হতে পারে (যদিও আমি কেবল $ (হোস্ট-নেম-এস) সুপারিশ করব। জেসন। আপনি একটি অপসকোড অ্যাকাউন্ট তৈরি করতে এবং হোস্ট শেফের সাথে একটি ক্লায়েন্ট কনফিগার করতেও পারেন, যদি সম্প্রদায় কুকবুকগুলি ডাউনলোড করতে এবং কঙ্কাল তৈরি করতে ছুরি ব্যবহার করতে সক্ষম হওয়া ছাড়া আর কোনও কারণ নেই।
এই পদ্ধতির বিভিন্ন সুবিধা রয়েছে, সুস্পষ্ট "একটি সার্ভার পরিচালনা করতে হবে না" ছাড়াও। আপনার উত্স নিয়ন্ত্রণটি সমস্ত কনফিগারেশনের পরিবর্তনের চূড়ান্ত সালিশী হবে, সংগ্রহশালায় সমস্ত নোড এবং রানলিস্ট অন্তর্ভুক্ত থাকবে এবং প্রতিটি সার্ভার সম্পূর্ণ স্বতন্ত্র থাকায় কিছু সুবিধাজনক পরীক্ষার পরিস্থিতি সহজতর করে।
শেফ-সার্ভার একটি গর্তের সাথে পরিচয় করিয়ে দেয় যেখানে আপনি একটি কুকবুক আপডেট করার জন্য "ছুরি আপলোড" ব্যবহার করেন এবং আপনাকে অবশ্যই এই গর্তটি প্যাচ করতে হবে (যেমন একটি পোস্ট-কমিট হুক সহ) অথবা ঝুঁকি সাইটের পরিবর্তনগুলি "ছুরি আপলোড" দ্বারা নিঃশব্দে ওভাররাইট করা হচ্ছে তার ল্যাপটপে পুরানো স্থানীয় সংগ্রহস্থল থেকে একটি অপ্রচলিত রেসিপি। শেফ-সোলো দিয়ে এটি হওয়ার সম্ভাবনা কম, কারণ সমস্ত পরিবর্তনগুলি সরাসরি মাস্টার সংগ্রহস্থল থেকে সার্ভারে সিঙ্ক করা হবে। এখানে সমস্যাটি শৃঙ্খলাবদ্ধ এবং সহযোগীদের সংখ্যা। আপনি যদি একক বিকাশকারী বা খুব ছোট দল হন, তবে API এর মাধ্যমে কুকবুকগুলি আপলোড করা খুব ঝুঁকিপূর্ণ নয়। বৃহত্তর দলে এটি হতে পারে যদি আপনি ভাল নিয়ন্ত্রণ স্থাপন না করেন।
অতিরিক্ত হিসাবে, শেফ-একক দ্বারা আপনি আপনার মূল নলীর ভাণ্ডারগুলিতে আপনার সমস্ত নোডের ভূমিকা, কাস্টম বৈশিষ্ট্য এবং রানলিস্টগুলি নোড.জসন ফাইল হিসাবে সংরক্ষণ করতে পারেন। শেফ-সার্ভারের সাথে, ভূমিকাটি এবং রানলিস্টগুলি এপিআই ব্যবহার করে ফ্লাইতে পরিবর্তন করা হয়। শেফ-একাকী দ্বারা, আপনি এই তথ্যটি পুনর্বিবেশন নিয়ন্ত্রণে ট্র্যাক করতে পারেন। স্থির এবং গতিশীল পরিবেশগুলির মধ্যে দ্বন্দ্বটি পরিষ্কারভাবে দেখা যায়। যদি আপনার নোডের তালিকা (এটি যত দীর্ঘ হতে পারে) তবে প্রায়শই পরিবর্তন হয় না, পুনর্বিবেচনা নিয়ন্ত্রণে এই ডেটা থাকা খুব দরকারী। অন্যদিকে, যদি আপনি প্রায়শই নতুন নোড তৈরি করেন এবং পুরাতনগুলি ধ্বংস করে দেন (তাদের হোস্ট নাম বা fqdn আবার কখনও দেখতে না পান) এগুলি সমস্ত সংশোধন নিয়ন্ত্রণে রাখা কেবল একটি অপ্রয়োজনীয় ঝামেলা, এবং পরিবর্তনগুলি করার জন্য একটি API থাকা খুব সুবিধাজনক। গতিশীল মেঘের পরিবেশগুলি পরিচালনা করার জন্য শেফ-সার্ভারের পুরো বৈশিষ্ট্য রয়েছে, যেমন "ছুরি বুটস্ট্র্যাপ" নেম বিকল্পের সাহায্যে যা আপনাকে নোড সনাক্ত করার ডিফল্ট উপায় হিসাবে fqdn প্রতিস্থাপন করতে দেয়। তবে একটি স্থিতিশীল পরিবেশে এই বৈশিষ্ট্যগুলি সীমিত মূল্যযুক্ত, বিশেষত অন্য সমস্ত কিছুর সাথে সংশোধন নিয়ন্ত্রণে ভূমিকা এবং রোললিস্ট থাকার তুলনায়।
শেষ অবধি, প্রায় কোনও অতিরিক্ত কাজ না করে রেসিপি পরীক্ষার পরিবেশগুলি ফ্লাইতে সেট আপ করা যায়। আপনি কোনও সার্ভারে চলমান ক্রোনজবস অক্ষম করতে পারেন এবং সরাসরি এর স্থানীয় সংগ্রহস্থলে পরিবর্তন করতে পারেন। আপনি শেফ-একাকী চালনা করে পরিবর্তনগুলি পরীক্ষা করতে পারেন এবং আপনি ঠিক কীভাবে সার্ভারটিকে উত্পাদনে কনফিগার করবেন। একবার সবকিছু পরীক্ষা করা গেলে, আপনি পরিবর্তনগুলি চেক-ইন করতে পারেন এবং স্থানীয় ক্রোনজবসকে পুনরায় সক্ষম করতে পারেন। রেসিপিগুলি লেখার সময়, আপনি "অনুসন্ধান" এপিআই ব্যবহার করতে সক্ষম হবেন না, এর অর্থ আপনি যদি ডায়নামিক রেসিপিগুলি (যেমন লোডবালেন্সার) লিখতে চান তবে আপনাকে জেসন ফাইলগুলি থেকে ডেটা সংগ্রহ করে এই সীমাবদ্ধতার চারপাশে হ্যাক করতে হবে আপনার নোড / ডিরেক্টরি যা সম্ভবত কম সুবিধাজনক হবে এবং সম্পূর্ণ সিএমডিবিতে উপলব্ধ কিছু ডেটার অভাব হবে। আবারও, আরও গতিশীল পরিবেশগুলি ডাটাবেস-চালিত পদ্ধতির পক্ষে হবে, লোকাল ডিস্কে জেসন ফাইলের সাথে কম গতিশীল পরিবেশ ভাল থাকবে। এমন একটি সার্ভার পরিবেশে যেখানে শেফ রানকে অবশ্যই একটি কেন্দ্রীয় ডাটাবেসে API কল করতে হবে, আপনি সেই ডাটাবেসের মধ্যে সমস্ত পরীক্ষার পরিবেশ পরিচালনার উপর নির্ভর করবেন।
শেষটি জরুরী পরিস্থিতিতেও ব্যবহার করা যেতে পারে। আপনি যদি প্রোডাকশন সার্ভারগুলিতে একটি জটিল সমস্যা সমাধান করছেন এবং এটি কনফিগারেশন পরিবর্তনের মাধ্যমে সমাধান করছেন, আপনি সার্ভারের সংগ্রহস্থলটিতে তাত্ক্ষণিকভাবে পরিবর্তনটি তৈরি করতে পারেন তবে এটিকে উপরের দিকে চাপিয়ে দিন।
সেগুলি শেফ-একাকারের প্রাথমিক সুবিধা advant কিছু অন্যান্য আছে, যেমন কোনও সার্ভার পরিচালনা করা বা হোস্ট শেফের জন্য অর্থ প্রদান না করা, তবে সেগুলি অপেক্ষাকৃত ছোটখাটো উদ্বেগ।
সংক্ষিপ্তসার হিসাবে: আপনি যদি গতিশীল এবং অত্যন্ত ভার্চুয়ালাইজড হন, শেফ-সার্ভারটি বেশ কয়েকটি দুর্দান্ত বৈশিষ্ট্য সরবরাহ করে (অন্যত্র coveredাকা আছে) এবং শেফ-একক সুবিধাগুলির বেশিরভাগই কম লক্ষণীয় হবে। তবে শেফ-সোলোতে বিশেষত আরও traditionalতিহ্যবাহী পরিবেশে কিছু সুনির্দিষ্ট, প্রায়শই নিঃসরণযুক্ত সুবিধা রয়েছে। নোট করুন যে মেঘে মোতায়েন হওয়ার অর্থ এই নয় যে আপনার গতিময় পরিবেশ রয়েছে। উদাহরণস্বরূপ, আপনি যদি আপনার সফ্টওয়্যারটির নতুন সংস্করণ প্রকাশ না করে আপনার সিস্টেমে আরও নোড যুক্ত করতে না পারেন তবে আপনি সম্ভবত গতিশীল নন। পরিশেষে, একটি উচ্চ-স্তরের দৃষ্টিকোণ থেকে একটি সিএমডিবি কেবলমাত্র প্রশাসনিক প্রশাসনের সাথে সম্পর্কিত এবং সংস্থাগুলির মধ্যে যেমন অ্যাকাউন্টিং এবং দলের মধ্যে তথ্য-ভাগ করে নেওয়ার মতো কনফিগারেশনের সাথে সম্পর্কিত যে কোনও সংখ্যক জিনিসের জন্য কার্যকর হতে পারে। শেফ-সার্ভার ব্যবহার করা কেবলমাত্র সেই বৈশিষ্ট্যের জন্যই উপযুক্ত।