শেফ-একক পরিবর্তে শেফ-সার্ভার চালানোর সুবিধা কী?


33

আমি আমার দলের জন্য স্বয়ংক্রিয় স্থাপনার সমাধানগুলি খুঁজছি এবং গত কয়েক দিন ধরে শেফের সাথে খেলছি। আমি শেফ-সোলো ব্যবহার করে একটি রেড হ্যাট ভিএম বেস থেকে একটি সাধারণ ওয়েব অ্যাপ্লিকেশনটি প্রস্তুত করতে সক্ষম হয়েছি।

আমাদের শেষ লক্ষ্যটি হ'ল আমরা বিল্ডিংয়ের সময় অ্যাপ্লিকেশন টোপোলজিকে স্বয়ংক্রিয়ভাবে মেঘে স্থাপন করতে শেফ (বা অন্য কোনও সিস্টেম) ব্যবহার করব। আমাদের প্রক্রিয়াটি মূলত এভাবে চলবে:

  1. আমাদের ওয়েব অ্যাপ্লিকেশন কোড, নির্ভরতা এবং শেফ কুকবুকগুলি এসসিএম-এ সঞ্চিত রয়েছে
  2. একটি বিল্ড কার্যকর করা হয় এবং বিপরীতে চিত্রগুলি অর্জন এবং পরীক্ষা করার জন্য একটি একক প্যাকেজ তৈরি করে
  3. বিল্ড ইঞ্জিনটি তখন নতুন ক্লাউড চিত্র স্থাপন করে যা প্যাকেজ ইনস্টল করতে শেফ ক্লায়েন্ট চালায়।
  4. চিত্রগুলি এসসিএম বা শেফ সার্ভার থেকে কুকবুকগুলি অর্জন করে এবং উঠতে এবং চালানোর জন্য সমস্ত কিছু ইনস্টল করে

শেফ সার্ভারটি চালানোর জন্য কী কী সুবিধা এবং / অথবা ব্যবহারগুলি ব্যবহার করে?

কোনও শেফ সার্ভারের এসসিএম বনাম শেফ-সলো ব্যবহার করে এবং এসসিএম থেকে কুকবুকগুলি টানবে এমন একটি স্ক্রিপ্ট রয়েছে এমন রান্নাঘরগুলি অর্জন এবং গ্রহণ করার কোনও বড় সুবিধা রয়েছে কি?

উত্তর:


67

আমি এই উত্তরটি এমনভাবে চালিয়ে যাচ্ছি যেন প্রশ্নটি ছিল "শেফ-সোলো এর সুবিধাগুলি কী কী" কারণ পন্থাগুলির মধ্যে পার্থক্যগুলি coverাকানোর জন্য এটিই আমি সেরা উপায়।

আমার সংক্ষিপ্ত সুপারিশটি অন্যের সাথে সঙ্গতিপূর্ণ: আপনি যদি একটি গতিশীল, ভার্চুয়ালাইজড পরিবেশ পরিচালনা করতে চান যেখানে আপনি প্রায়শই নোড যুক্ত এবং মুছে ফেলবেন এমন কোনও শেফ-সার্ভার ব্যবহার করুন। আপনার যদি প্রয়োজন হয় তবে শেফ সার্ভারও একটি ভাল সিএমডিবি । আপনার যদি কম গতিশীল পরিবেশ থাকে তবে নোডগুলি প্রায়শই পরিবর্তিত হয় না তবে ভূমিকা এবং রেসিপিগুলি হবে তা শেফ-একক ব্যবহার করুন। আপনার পরিবেশের আকার এবং জটিলতা কম-বেশি অপ্রাসঙ্গিক। উভয় পদ্ধতির খুব ভাল স্কেল।

যদি আপনি শেফ-একক মোতায়েন করেন তবে প্রতিটি নোডে শেফের সংগ্রহশালার সম্পূর্ণ অনুলিপি বজায় রাখার জন্য আরএসসিএন, 'গিট টান', বা অন্য কোনও আইডেম্পোটেন্ট ফাইল স্থানান্তর প্রক্রিয়া সহ ক্রোনজব ব্যবহার করুন। ক্রোনজব সহজেই কনফিগার করা উচিত (ক) মোটেও চালানো উচিত নয় এবং (খ) চালানো, তবে স্থানীয় সংগ্রহস্থল সিঙ্ক না করেই। প্রতিটি নোডের জন্য একটি জেসন ফাইলের সাথে আপনার শেফ রিপোজিটরিতে একটি নোড / ডিরেক্টরি যুক্ত করুন। আপনার ক্রোনজবব সঠিক নোডেফাইল সনাক্তকরণের ক্ষেত্রে যেমনটি চান তেমন পরিশীলিত হতে পারে (যদিও আমি কেবল $ (হোস্ট-নেম-এস) সুপারিশ করব। জেসন। আপনি একটি অপসকোড অ্যাকাউন্ট তৈরি করতে এবং হোস্ট শেফের সাথে একটি ক্লায়েন্ট কনফিগার করতেও পারেন, যদি সম্প্রদায় কুকবুকগুলি ডাউনলোড করতে এবং কঙ্কাল তৈরি করতে ছুরি ব্যবহার করতে সক্ষম হওয়া ছাড়া আর কোনও কারণ নেই।

এই পদ্ধতির বিভিন্ন সুবিধা রয়েছে, সুস্পষ্ট "একটি সার্ভার পরিচালনা করতে হবে না" ছাড়াও। আপনার উত্স নিয়ন্ত্রণটি সমস্ত কনফিগারেশনের পরিবর্তনের চূড়ান্ত সালিশী হবে, সংগ্রহশালায় সমস্ত নোড এবং রানলিস্ট অন্তর্ভুক্ত থাকবে এবং প্রতিটি সার্ভার সম্পূর্ণ স্বতন্ত্র থাকায় কিছু সুবিধাজনক পরীক্ষার পরিস্থিতি সহজতর করে।

শেফ-সার্ভার একটি গর্তের সাথে পরিচয় করিয়ে দেয় যেখানে আপনি একটি কুকবুক আপডেট করার জন্য "ছুরি আপলোড" ব্যবহার করেন এবং আপনাকে অবশ্যই এই গর্তটি প্যাচ করতে হবে (যেমন একটি পোস্ট-কমিট হুক সহ) অথবা ঝুঁকি সাইটের পরিবর্তনগুলি "ছুরি আপলোড" দ্বারা নিঃশব্দে ওভাররাইট করা হচ্ছে তার ল্যাপটপে পুরানো স্থানীয় সংগ্রহস্থল থেকে একটি অপ্রচলিত রেসিপি। শেফ-সোলো দিয়ে এটি হওয়ার সম্ভাবনা কম, কারণ সমস্ত পরিবর্তনগুলি সরাসরি মাস্টার সংগ্রহস্থল থেকে সার্ভারে সিঙ্ক করা হবে। এখানে সমস্যাটি শৃঙ্খলাবদ্ধ এবং সহযোগীদের সংখ্যা। আপনি যদি একক বিকাশকারী বা খুব ছোট দল হন, তবে API এর মাধ্যমে কুকবুকগুলি আপলোড করা খুব ঝুঁকিপূর্ণ নয়। বৃহত্তর দলে এটি হতে পারে যদি আপনি ভাল নিয়ন্ত্রণ স্থাপন না করেন।

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

শেষ অবধি, প্রায় কোনও অতিরিক্ত কাজ না করে রেসিপি পরীক্ষার পরিবেশগুলি ফ্লাইতে সেট আপ করা যায়। আপনি কোনও সার্ভারে চলমান ক্রোনজবস অক্ষম করতে পারেন এবং সরাসরি এর স্থানীয় সংগ্রহস্থলে পরিবর্তন করতে পারেন। আপনি শেফ-একাকী চালনা করে পরিবর্তনগুলি পরীক্ষা করতে পারেন এবং আপনি ঠিক কীভাবে সার্ভারটিকে উত্পাদনে কনফিগার করবেন। একবার সবকিছু পরীক্ষা করা গেলে, আপনি পরিবর্তনগুলি চেক-ইন করতে পারেন এবং স্থানীয় ক্রোনজবসকে পুনরায় সক্ষম করতে পারেন। রেসিপিগুলি লেখার সময়, আপনি "অনুসন্ধান" এপিআই ব্যবহার করতে সক্ষম হবেন না, এর অর্থ আপনি যদি ডায়নামিক রেসিপিগুলি (যেমন লোডবালেন্সার) লিখতে চান তবে আপনাকে জেসন ফাইলগুলি থেকে ডেটা সংগ্রহ করে এই সীমাবদ্ধতার চারপাশে হ্যাক করতে হবে আপনার নোড / ডিরেক্টরি যা সম্ভবত কম সুবিধাজনক হবে এবং সম্পূর্ণ সিএমডিবিতে উপলব্ধ কিছু ডেটার অভাব হবে। আবারও, আরও গতিশীল পরিবেশগুলি ডাটাবেস-চালিত পদ্ধতির পক্ষে হবে, লোকাল ডিস্কে জেসন ফাইলের সাথে কম গতিশীল পরিবেশ ভাল থাকবে। এমন একটি সার্ভার পরিবেশে যেখানে শেফ রানকে অবশ্যই একটি কেন্দ্রীয় ডাটাবেসে API কল করতে হবে, আপনি সেই ডাটাবেসের মধ্যে সমস্ত পরীক্ষার পরিবেশ পরিচালনার উপর নির্ভর করবেন।

শেষটি জরুরী পরিস্থিতিতেও ব্যবহার করা যেতে পারে। আপনি যদি প্রোডাকশন সার্ভারগুলিতে একটি জটিল সমস্যা সমাধান করছেন এবং এটি কনফিগারেশন পরিবর্তনের মাধ্যমে সমাধান করছেন, আপনি সার্ভারের সংগ্রহস্থলটিতে তাত্ক্ষণিকভাবে পরিবর্তনটি তৈরি করতে পারেন তবে এটিকে উপরের দিকে চাপিয়ে দিন।

সেগুলি শেফ-একাকারের প্রাথমিক সুবিধা advant কিছু অন্যান্য আছে, যেমন কোনও সার্ভার পরিচালনা করা বা হোস্ট শেফের জন্য অর্থ প্রদান না করা, তবে সেগুলি অপেক্ষাকৃত ছোটখাটো উদ্বেগ।

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


কীভাবে আপনি শেফ-সোলো দিয়ে সংবেদনশীল ডেটা (যেমন: ব্যক্তিগত কী / পাসওয়ার্ড) সংরক্ষণ / বিতরণ করবেন? আমি কীভাবে এটিকে প্লেইন টেক্সট হিসাবে সংরক্ষণ না করে সংশোধন নিয়ন্ত্রণের সাহায্যে ট্র্যাক করব?
লিম্বো পেং

@ লিম্বোপেনগ আপনি শেফ রেপোতে এনক্রিপ্ট হওয়া ডেটা ব্যাগ সংরক্ষণ করতে পারেন। আপনাকে বাহ্যিকভাবে এনক্রিপশন কীটি সঞ্চয় করতে হবে।
উইলি হুইলার 21

27

প্রকাশ: আমি আপসকোডের জন্য কাজ করি।

সোলো ওভার শেফ সার্ভারের প্রধান সুবিধা হ'ল আপনার অবকাঠামোতে অনুসন্ধান ব্যবহার করার ক্ষমতা। ক্লাসিক উদাহরণটি ওয়েব সার্ভার সহ লোড ব্যালেন্সার। লোড ব্যালেন্সার স্বয়ংক্রিয়ভাবে তার কনফিগারেশনটি আপডেট করতে পারে কারণ ওয়েব সার্ভারগুলি যোগ করে এবং অবকাঠামোতে সরানো হয়, কেবল তাদের অনুসন্ধান করে। সলো কেবলমাত্র এটিই, একক মেশিন, অন্যদিকে শেফ সার্ভার "4 টিরও বেশি জিগের র্যামের সমস্ত মেশিন" বা "ডাটাবেস মাস্টার" এর মতো জিনিসের জন্য অনুসন্ধান করার ক্ষমতা নিয়ে আসে।

শেফ সার্ভার আপনাকে চারপাশে টার্বলগুলি অনুলিপি না করে আপনার পরিকাঠামো পরিচালনা করার ক্ষমতা, ম্যানেজমেন্ট কনসোল দিয়ে আপনার অবকাঠামোটি কল্পনা করতে এবং কোন মেশিনগুলি পরিবেশের সাথে কুকবুকগুলির সংস্করণগুলি চলছে তা পরিচালনা করার ক্ষমতাও দেয়। অন্যান্য সুবিধাগুলি রয়েছে তবে আমার মাথার উপরের অংশগুলি সেগুলি। আপনি যদি শেফ সার্ভারটি ইনস্টল না করেই চেষ্টা করে দেখতে চান তবে কেবল একটি আপসকোড হোস্টেড শেফ অ্যাকাউন্টের জন্য সাইন আপ করুন, প্রথম 5 টি নোড বিনামূল্যে।


1
ধন্যবাদ ম্যারে, সেই তথ্যটি একটি টনকে সহায়তা করে। আপনি কি জানেন যে শেফ সার্ভারটি ব্যবহার করার সময় কেউ কীভাবে ডিওঅপস দর্শনগুলি গ্রহণ করবে? এর দ্বারা আমি যা বোঝাতে চাইছি তা হল আমাদের সমস্ত কুকবুকগুলি এসসিএমে লাইভ। আমরা নতুন কোড সরবরাহ করার সাথে সাথে শেফ সার্ভারকে আপডেট কুকবুকগুলি পাওয়ার কী সহজ উপায় আছে?
linusthe3rd

2
@ strife25 আপনার অবশ্যই একটি সংস্করণ নিয়ন্ত্রণ সিস্টেমে আপনার কুকবুক থাকা উচিত । আপনি যদি কারও প্রতি নজর রাখেন না, অপসকোড গিটকে প্রস্তাব দেয় কারণ বিতরণকারী দলের জন্য শাখা এবং শিলাগুলির সাথে কাজ করা সহজ। আপনি একটি পোস্ট-কমিট হুক লিখতে পারেন যা শেফ সার্ভারে কুকবুকগুলি আপলোড করে। আপনি কেবল শেফ সার্ভারে কুকবুকগুলি ক্লোন করেন না কারণ আপনি সেগুলি এপিআইয়ের মাধ্যমে আপলোড করেন এবং ডিজাইনের মাধ্যমে এটি উদ্দেশ্যমূলক।
jtimberman

1

শেফ-সার্ভার আপনার নোডগুলির জন্য কুকবুক এবং কনফিগারেশন ডেটা পরিচালনা করে।

আপনি ছুরির সরঞ্জামটি ব্যবহার করে শেফ-সার্ভারে কুকবুক যুক্ত করেন এবং তারপরে প্রতিটি নোডকে রেসিপিগুলির একটি রান তালিকা দিন যাতে নফ শেফ-ক্লায়েন্ট ব্যবহার করে নোড নিজেই সেট আপ করেন তখন তারা প্রয়োজনীয় কুকবুকগুলি ধরে ফেলবে। যেহেতু শেফ-ক্লায়েন্ট পটভূমিতে চলে, তাই আপনার নোডগুলি আপনার শেফ-সার্ভারে আপডেট কুকবুকগুলি আছে কিনা তা পর্যায়ক্রমে পরীক্ষা করে দেখবে।

শেফ-সার্ভার আপনার কনফিগারেশন ডেটা এবং ভেরিয়েবলগুলিও ধারণ করে যাতে আপনি নিজের নোডগুলি স্বয়ংক্রিয়ভাবে বাছাইয়ের জন্য সেটিংস পরিবর্তন করতে পারেন। এটি আরও গতিশীল সেটিংসের জন্য ভাল যা আপনার রেসিপিগুলিতে হার্ডকোড করা উচিত নয় বা করা যায় না।

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