শেফ সেরা অভ্যাস / প্রশ্ন


48

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

এগুলি আমার প্রশ্ন:

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

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

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


5
এক পোস্টে অনেক প্রশ্ন। একে একে আলাদা করে আলাদা করে বিবেচনা করুন। এটি সামগ্রিকভাবে সম্প্রদায়ের পক্ষে আরও ভাল এবং এগুলি আপনাকে আরও ভাল, আরও বিশদ উত্তর পাবে।
ওয়েসলি

উত্তর:


84

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

এই উত্তরে, "শেফ" বা "শেফ-ক্লায়েন্ট" সাধারণত শেফ ইনফ্রা, পণ্যটিকে বোঝায়। ২০১৩ সালে শেফ সফটওয়্যার, ইনক-এর নামে অপসকোডের নতুন নামকরণ করা হয়েছিল । ইন এপ্রিল 2019, পাচক বা রাঁধুনি সোর্স কোড খুলে তার সব পণ্যের জন্য সামঞ্জস্যপূর্ণ ব্র্যান্ড নামকরণ তৈরি করেন।

রুবি ডিএসএল, জেএসএন, বা ম্যানেজমেন্ট কনসোল থেকে ভূমিকা সেটআপ করা ভাল কিনা তা পরিষ্কার নয়? একই জিনিসটি করার একাধিক উপায় কেন?

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

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

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

knife role from file myrole.rb

এটি ভূমিকাটিকে JSON এ রূপান্তর করে এবং এটি সার্ভারে সঞ্চয় করে। আপনার যদি এমন পরিবেশ থাকে যা শেফ রেপোজিটরিটিকে কার্যকর করে যেখানে আপনার ভূমিকা সত্যের উত্স হিসাবে বাস করে, এটি বেশ কার্যকরভাবে কাজ করে।

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

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

knife role show myrole -Fj

-Fj"JSON ফর্ম্যাটে প্রদর্শন।" এ ছুরি বলে আপনি যদি চান তবে আউটপুটটি একটি .json ফাইলে পুনর্নির্দেশ করতে পারেন।

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

সার্ভার এবং স্থানীয় ফাইলের মধ্যে সামগ্রীর পার্থক্য পরীক্ষা করুন।

knife diff roles/myrole.json

একটি JSON ফর্ম্যাট রোল ফাইল আপলোড করুন। roles/পাথ প্রয়োজন। এটি সার্ভারে একই এপিআই এর শেষ পয়েন্টে ম্যাপযুক্ত।

knife upload roles/myrole.json

সার্ভার থেকে সামগ্রীতে ফাইলের সামগ্রীতে ওভাররাইট করে ডাউনলোড করুন।

knife download roles/myrole.json

এই কমান্ডগুলি এসেছে knife-essentials, যা শেফ ক্লায়েন্ট প্যাকেজটিতে অন্তর্নির্মিত।

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

নাফের কুকবুকগুলি কোথায় থাকবেন সে সম্পর্কে একটি প্রত্যাশা রয়েছে কারণ এটি সার্ভারে কুকবুকগুলি আপলোড করতে একটি API ব্যবহার করে uses এই সঙ্গে সেট করা knife.rbহয় cookbook_path। শেফ ইনফ্রার পুরানো সংস্করণগুলিতে, আপনি কুকবুকগুলির জন্য একটি পাথের অ্যারে নির্দিষ্ট করতে পারেন তবে এটি নষ্ট করা হচ্ছে কারণ এটির আরও রক্ষণাবেক্ষণের প্রয়োজন ছিল এবং এটি ব্যবহারকারীদের জন্য বিভ্রান্তিকর ছিল।

কনভেনশন অনুসারে আমরা গ্রাহক নির্দিষ্ট বা সাইট নির্দিষ্ট কুকবুকের নাম কুকবুকের নির্দেশিকায় উপসর্গযুক্ত নাম দিয়ে থাকি name আপনার উদাহরণের জন্য, এটি হবে:

chef-repo/cookbooks/ourcompany_customsoftware

আপনি যা করছেন তার উপর নির্ভর করে "আমাদেরকম্পানি" এর জন্য একাধিক আলাদা কুকবুক থাকতে পারে।

আরও উল্লেখ:

আমি কি প্রতিটি ধরণের ভূমিকার জন্য একটি কুকবুক তৈরি করি যা এটি কী করে তা নির্দিষ্ট করে? আমার কাছে কি এই কুকবুকগুলিতে অন্যান্য কুকবুক রয়েছে (যেমন- আমার ওয়েবসারভার ভূমিকার জন্য কুকবুকটি অ্যাপাচি কুকবুক অন্তর্ভুক্ত করে)। আমি নিশ্চিত না কীভাবে কুকবুক আন্তঃনির্ভরতা এবং উত্তরাধিকার পরিচালিত হয়।

ভূমিকা এবং কুকবুকের মধ্যে সরাসরি সম্পর্ক বা নির্ভরতা নেই।

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

recipe[apache2]

শেফ apache2নোডের জন্য কুকবুকটি ডাউনলোড করবেন যাতে এটি এই রেসিপিটি প্রয়োগ করতে পারে।

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

আরও উল্লেখ:

পুতুলগুলির বাহ্যিক নোড শ্রেণিবদ্ধের মতো কিছু আছে তাই নোডগুলি স্বয়ংক্রিয়ভাবে তাদের ভূমিকা নির্ধারণ করে?

"হ্যাঁ." শেফ ইনফ্রা সার্ভার স্বয়ংক্রিয়ভাবে নোড ডেটা স্টোরেজ করে (জেএসএনে) স্বয়ংক্রিয়ভাবে এবং সার্ভারটি অনুসন্ধানের জন্য সমস্ত নোড ডেটাও স্বয়ংক্রিয়ভাবে সূচী করে।

আরও উল্লেখ:

দেখে মনে হচ্ছে আপনি ছুরি দিয়ে বা পরিচালনা কনসোলের মধ্যে জিনিসগুলি কনফিগার করতে পারেন, বা JSON ফাইল সম্পাদনা করতে পারেন? এটি আমার কাছে অত্যন্ত বিভ্রান্তিকর কারণ কেন অনেক কিছু করার উপায় রয়েছে, এটি পঙ্গু হয়ে গেছে! একটি বা অন্য ব্যবহার করার কারণ আছে?

শেফ ইনফ্রা সার্ভারের একটি রেস্টলফুল এপিআই রয়েছে যা JSON প্রতিক্রিয়াগুলি প্রেরণ করে এবং গ্রহণ করে। প্রশাসনের দৃষ্টিকোণ থেকে API এর সাথে ইন্টারঅ্যাক্ট করার জন্য ছুরি এবং পরিচালনা কনসোলটি ইউজার ইন্টারফেস।

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

শেফ ইনফ্রা লাইব্রেরি, আদিম এবং একটি এপিআইয়ের একটি সেট set এটি আপনাকে কনফিগারেশন ম্যানেজমেন্ট সিস্টেমটি তৈরি করতে নমনীয়তা দেয় যা আপনার অবকাঠামোর জন্য সবচেয়ে ভাল কাজ করে।

আরও পড়া:

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

আপনি ছুরি বুটস্ট্র্যাপ প্লাগইন ব্যবহার করতে চাইবেন। এটি একটি অন্তর্নির্মিত প্লাগইন যা ছুরি নিয়ে আসে। আপনি এটি এই মত প্রার্থনা:

knife bootstrap 10.1.1.112 -x root -i ~/.ssh/root_id_rsa -r 'role[webserver]'

এটা হবে:

  • এসএসএইচ টার্গেট সিস্টেমে (10.1.1.112) rootএসএসএইচ কী ব্যবহার করে ব্যবহারকারী হিসাবে (আপনি অন্য ব্যবহারকারী হিসাবে এসএসএস করতে পারেন এবং তারপরে ব্যবহার করতে পারেন --sudo)।
  • রুবি ইনস্টল করুন
  • শেফ ইনস্টল করুন
  • আপনার শেফ সার্ভারের জন্য শেফ কনফিগারেশন ফাইল তৈরি করুন, ছুরির কনফিগারেশন (.chef / ছুরি.আরবি) পড়ুন।
  • "বৈধকরণ" আরএসএ ব্যক্তিগত কী অনুলিপি করুন, যা নফটি শেফ সার্ভারের সাথে স্বয়ংক্রিয়ভাবে নিবন্ধকরণ করতে ব্যবহার করবে।
  • chef-clientনির্দিষ্ট কমা বিচ্ছিন্ন রান ব্যবহার করে চালান । এই উদাহরণে কেবল webserverভূমিকা প্রয়োগ করা হয়।

এটি ধরে নেয় যে টার্গেট সিস্টেমটি বিধান করা হয়েছে, তার একটি আইপি ঠিকানা রয়েছে এবং আপনি রুট হিসাবে এসএসএইচ করতে পারেন। আপনার স্থানীয় নীতি এবং বিধান প্রক্রিয়ার উপর নির্ভর করে আপনার কীভাবে এটি কাজ করে তা সামঞ্জস্য করতে হতে পারে। উইকির ছুরি বুটস্ট্র্যাপ পৃষ্ঠাটি কীভাবে এটি কাজ করে সে সম্পর্কে আরও বর্ণনা করে।

ছুরিতে অ্যামাজন ইসি 2 এবং র‌্যাকস্পেস ক্লাউডের মতো বেশ কয়েকটি পাবলিক ক্লাউড কম্পিউটিং সরবরাহকারীর জন্য প্লাগইন রয়েছে। ইউক্যালিপটাস এবং ওপেনস্ট্যাকের মতো ব্যক্তিগত মেঘ পরিবেশের জন্য উপলব্ধ প্লাগইন রয়েছে। এছাড়াও ভিএমওয়্যার, ভেস্পিয়ার এবং অন্যদের জন্য প্লাগইন রয়েছে। আপনি ডকুমেন্টেশনে আরও তথ্য দেখতে পারেন।

আরও পড়া:

আমার অনুসন্ধানগুলিতে আমি নিখোঁজ হতে পারে এমন আরও কোনও ভাল শেফ সংস্থান আছে?

পাচক বা রাঁধুনি ডকুমেন্টেশন ডকুমেন্টেশন প্রাথমিক উৎস।

জানুন পাচক বা রাঁধুনি র্যালি স্ব-নির্দেশিত মডিউল যা আপনি সব অন্যান্য পাচক বা রাঁধুনি পণ্য শেফ ইনফ্রা বিভিন্ন দিক, এবং সম্পর্কে জানতে পারেন একটি সিরিজ।

আমি একটি ব্লগ বজায় রাখতাম যেখানে আমি শেফ ইনফ্রা সম্পর্কে টিপস, কৌশল এবং গাইড পোস্ট করতাম: http://jtimberman.housepub.org/ । আমার কাছে " কুইক টিপস " নামে একটি সিরিজ ছিল । বাস্তব জীবনের পরিস্থিতি এবং অন্যান্য প্রতিশ্রুতিগুলির কারণে আমার কাছে সাইটটি বজায় রাখার আর সময় নেই, তবে ভবিষ্যতে আমি এটিতে ফিরে আসতে পারি।

শেফ গ্রাহকরা সহায়তা সাইটে সহায়তা এবং সহায়তা পেতে পারেন:

শেফ ব্যবহারকারী সম্প্রদায় অতিরিক্ত সহায়তার একটি দুর্দান্ত উত্স:

অতিরিক্ত সংস্থানাদি শেফ সফটওয়্যার, ইনক। এর ওয়েবসাইটে উপলব্ধ

আশা করি এটা কাজে লাগবে.


2
এটি একটি মূল্যবান সংস্থান, দয়া করে এর সাথে আরও প্রায়ই লিঙ্ক করুন।
পুয়ান খোসরাভি

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