জবাবদিহি সেটআপে বিধান এবং কনফিগারেশন কীভাবে পরীক্ষা করবেন?


33

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

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

বর্তমানে আমাদের প্রচুর পরীক্ষা প্লেবুকের সময় ধারাবাহিকভাবে করা হয় যা "হ্যাঁ সার্ভিস এসেছিল; ভিআইপি উপলব্ধ; এই অ্যাসিঙ্ক টাস্কটি শেষ হয়েছে" এর মতো জিনিসগুলির জন্য প্রচুর ধারণা তৈরি করে "তবে যা সত্যই আমাকে উদ্বেগ করে তা হ'ল আমাদের চালিকা চালানোর দক্ষতা অ্যাপ্লিকেশন এবং প্রভিশন লেয়ার উভয় ক্ষেত্রে কনফিগারেশন (যেমন ভিএম কনফিগারেশন)। আমি সচেতন যে কনফিগারেশন ড্রিফ্টের সাথে কাজ করার জন্য উত্তরযোগ্য সেরা হাতিয়ার নয় তবে আমি আপনার নিজের মতামতটি দেখতে আগ্রহী।

প্রক্রিয়াটি সম্পূর্ণরূপে স্বয়ংক্রিয় করার জন্য আপনার কাছে কিছু থাকলে আরও ভাল। (আমাদের কয়েকটি কুরুচিপূর্ণ স্ক্রিপ্ট রয়েছে যা প্রতিদিন পিছলে পড়ে রিপোর্ট করে)।

দ্রষ্টব্য : এই মুহুর্তে আমাদের কয়েকটি শর্ত রয়েছে যেখানে পুনঃস্থাপন ঘটতে পারে (যেমন ব্যাকআপ থেকে পুনর্নির্মাণ, সমালোচনামূলক সিস্টেমগুলি ইস্যু) তবে সাধারণত এটি কিছু উত্তরযোগ্য কনফিগারেশন টাস্কের মধ্য দিয়ে লুপ করে এবং এর আর কিছু মনে করে না।



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

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

I'm aware Ansible isn't the best tool for working with configuration drift দয়া করে ব্যাখ্যা করুন.
২030

উত্তর:


19

কিছু বিকল্প সেখানে আছে ..

পরীক্ষার সরঞ্জামগুলি: গিথুব তারা দ্বারা বাছাই করা

  • সার্ভারস্পেক - রুবি, সেখানকার সর্বাধিক জনপ্রিয় সরঞ্জাম, রুবির আরএসপিপিতে নির্মিত
  • গস - ওয়াইএএমএল, সহজ, <10 এমবি স্ব-অন্তর্ভুক্ত বাইনারি, অত্যন্ত দ্রুত, সিস্টেমের অবস্থা থেকে পরীক্ষা উত্পন্ন করতে পারে
  • পরিদর্শনকারী - রুবি, এটিকে শেফ ছেলেরা দ্বারা তৈরি একটি উন্নত সার্ভারস্পেক, প্রায় একই সিনট্যাক্স হিসাবে ভাবেন। সার্ভারস্পেকের চেয়ে প্রসারিত করা সহজ হতে অন্তর্নির্মিত
  • টেস্টিনফ্রা - পাইথন-এ উত্তরীয়দের ইনভেন্টরি / ভার্স ব্যবহার করতে সক্ষম হওয়ার দুর্দান্ত বৈশিষ্ট্য রয়েছে

তাদের মধ্যে প্রধান পার্থক্য:

শেষ পর্যন্ত, আমি নিজের সিদ্ধান্ত নেওয়ার আগে তাদের অনুভূতি পেতে তাদের সবার সাথে এক দিন সময় ব্যয় করার পরামর্শ দেব।

  • গস ব্যতীত, সমস্ত ফ্রেমওয়ার্কগুলি একটি রিমোট মেশিনের বিরুদ্ধে চলতে পারে (উদাঃ ssh ওভার)। গস শুধুমাত্র স্থানীয়ভাবে বা ডকার ডাব্লু / ডিগোস-এ চলে।
  • সমস্ত ফ্রেমওয়ার্কগুলি একটি সার্ভারে স্থানীয়ভাবে চালানো যেতে পারে তবে পাইথন বা রুবি ইনস্টল বা এম্বেড থাকা প্রয়োজন। পরিদর্শক রুবি এর এম্বেড করা সংস্করণ সহ একটি স্ব-অন্তর্ভুক্ত <150 এমবি বান্ডিল সরবরাহ করে। গস একটি একক <10MB বাইনারি যার কোনও বাহ্যিক নির্ভরতা নেই।
  • গোগ নাগিওস / সেন্সু আউটপুটটির জন্য সমর্থন করে তৈরি করেছে, এটি মনিটরিং সরঞ্জামগুলির সাথে আরও সহজ সংহতকরণের অনুমতি দেয়।
  • গাস পরীক্ষাগুলি সহজ হতে থাকে, তবে এটি ওয়াইএএমএল ভিত্তিক কম নমনীয়। অন্যান্য ফ্রেমওয়ার্কগুলি আপনাকে পরীক্ষা লেখার জন্য বা সরঞ্জামটির কার্যকারিতা প্রসারিত করতে অন্তর্নিহিত ভাষার পাইথন / রুবিয়ের পুরো শক্তিটি উত্তোলনের অনুমতি দেয়। (সরলতা বনাম নমনীয়তা)
  • গস আপনাকে বর্তমান সিস্টেমের অবস্থা থেকে পরীক্ষা উত্পন্ন করতে দেয়
  • আমার জ্ঞানের টেস্টিনফরা হ'ল একমাত্র উত্তরসত্তার তালিকা এবং ভেরিয়েবলের জন্য অন্তর্নির্মিত সমর্থন
  • পরিদর্শক শেফ দ্বারা সমর্থন করা হয়

অবিচ্ছিন্ন / বিচ্যুতি পরীক্ষা:

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

উন্নয়নের জন্য পরীক্ষার হারনেস:

  • রান্নাঘর - পরীক্ষার জোতা সরঞ্জাম, উদাহরণ চালু করে, কনফিগারেশন পরিচালনা কোড চালায়, পরীক্ষা স্যুট চালায়। শেফ ছেলেরা তৈরি করেছে
  • অণু - পরীক্ষার রান্নাঘরের অনুরূপ, তবে জবাবদিহি করার জন্য বিশেষভাবে লেখা

সম্পূর্ণ প্রকাশ: আমি গসের লেখক

আপডেট: ইনস্পেক ৪.০ বা তারও উপরে একটি মিশ্র বাণিজ্যিক / ওপেন সোর্স লাইসেন্স ব্যবহার করে - মন্তব্য দেখুন।


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

আমি বাহ্যিক কমান্ডটি সংশোধন করার জন্য উত্তরটি আপডেট করেছি এবং পরিদর্শকের জন্য রুবি বান্ডিল করেছি। আপনি কি স্পষ্ট করে বলতে পারেন বা আমাকে বোঝাতে একটি লিঙ্ক প্রেরণ করতে পারেন যে কীভাবে ইন্সপেক্টর নিজেই ড্রাইফ্টটি সনাক্ত / প্রতিবেদন করতে ব্যবহার করতে পারেন?
আহমেদ এলসাব্বাহী

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

সব মিলিয়ে, সম্পাদনার জন্য ধন্যবাদ, এটি আপনার সরঞ্জাম এবং অন্যদের একটি সুস্পষ্ট প্রদর্শন বলে মনে হচ্ছে। আমি আশঙ্কা করছি এটি দ্রুত পুরানো হয়ে উঠতে পারে তবে তালিকা এবং পয়েন্টারগুলির জন্য যাইহোক +1 করে।
তেনসিবাাই

হ্যাঁ, হ্যাঁ .. সমস্ত সরঞ্জাম সেভাবে কাজে লাগানো যেতে পারে। আমি এমন সরঞ্জামগুলি সরবরাহ করার চেষ্টা করছিলাম (বা সরঞ্জামগুলির সাথে সংহতকরণ) যা আরও ভাল প্রতিবেদন সরবরাহ করে। আমার জ্ঞান অনুসারে কমপ্লায়েন্স রয়েছে, বা সরঞ্জামগুলিকে এমনভাবে মোড়ানো যা তাদের নাগিও / সেন্সু / কিছু-অন্যান্য-পর্যবেক্ষণ-সরঞ্জামকে বন্ধুত্বপূর্ণ করে তোলে। উদাহরণস্বরূপ : slideshare.net/m_richardson/… ক্ষমা প্রার্থনা যদি এটি প্রাথমিকভাবে পক্ষপাতদুষ্ট হিসাবে অবতীর্ণ হয় তবে তা করার ইচ্ছা ছিল না।
আহমেদ এলসবাবাহি

13

এর জন্য দুটি সরঞ্জাম আমি দেখেছি হ'ল ইনস্পেক এবং সার্ভারস্পেক । Serverspec একটি রুবি ভিত্তিক টুলে তৈরী করে যে RSpec । ইনস্পেক আরএসপেক এবং সার্ভারস্পেক দ্বারা অনুপ্রাণিত হয়।

আমি সার্ভারস্পেক ব্যবহার করেছি। এটি দুর্দান্ত তবে 100% স্থিতিশীল নয়। উবুন্টুতে সফ্টওয়্যারটির নির্দিষ্ট সংস্করণগুলির পরীক্ষা করার ক্ষেত্রে আমার সমস্যা হয়েছিল।

আমি ইনস্পেক ডক্স পড়েছি কিন্তু গভীরভাবে খনন করি নি। এটি সার্ভারস্পেকের মতো মূলত একই জিনিস করে।

গিথুব কমিট দ্বারা বিচার করে দেখে মনে হচ্ছে যে সার্ভারস্পেকের কাজ কিছুটা লেগেছে, অন্যদিকে ইনস্পেক সবেমাত্র বাড়ছে।

আপডেট: ইনস্পেক ৪.০ বা তারও উপরে একটি মিশ্র বাণিজ্যিক / ওপেন সোর্স লাইসেন্স ব্যবহার করে - মন্তব্য দেখুন।


1
"উবুন্টুতে সফ্টওয়্যারটির নির্দিষ্ট সংস্করণগুলির পরীক্ষা করার ক্ষেত্রে আমার সমস্যা হয়েছিল।" SO: stackoverflow.com/questions/42417864/…
ম্যাট শোচার্ড

কিছুটা স্পষ্ট করার জন্য, ইনস্পেক আরএসপেককে এমুলেট করে তবে এটি তৈরি করে না।
কোডরেঞ্জার

1
@ ম্যাটস্কুচার্ড সেই রেফারেন্সের জন্য ধন্যবাদ!
ডেভ সোয়ারস্কি

পরীক্ষার সরঞ্জামের জন্য ভাল "100% স্থিতিশীল নয়" কোনও ভাল শোনাচ্ছে না
10

ইনস্পেক একটি পরীক্ষার সরঞ্জাম হিসাবে খুব ভাল, এবং সার্ভারে কোনও কিছুই ইনস্টল করা সহজ করে তোলে যেখানে সার্ভারস্পেক কেবল কিছু অতিরিক্ত কাজ করে এটি করতে পারে। ইনস্পেকের কোনও উত্তরযোগ্য তালিকা ব্যবহারের জন্য কিছু কাজের প্রয়োজন হবে - যদি ইনভেন্টরিটি ওয়াইএএমএল ফর্ম্যাটে থাকে (উত্তরযোগ্য ২.৪+) probably
রিচভেল

10

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

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

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

আপনার উত্তরযোগ্য কোডটি আসলে আপনার কাজটি করা উচিত বলে মনে করছেন তা নিশ্চিত করার জন্য, ডেভ সোয়ারস্কির উল্লিখিত সমাধানগুলি প্রয়োগ করে। উভয় InSpec এবং Serverspec সরঞ্জামগুলি আমাদের কাছে একটি যাচাই হয় বিভিন্ন উপায় যে আপনার playbooks আসলে নেই আপনি কি বলতে চাইছেন। একটি দুর্দান্ত উপায় পরীক্ষা পরিবেশের মধ্যে সরঞ্জাম এই ধরনের চালানো (এমনকি পাত্রে Docker) ব্যবহার করতে হয় kitchen.ci যা টুলস পরীক্ষা বিভিন্ন নীচের ইউনিট মধ্যে সব আঠা, এবং আপনার playbooks / মডিউল / রান্নার বই সঞ্চালনের পরিচালনা করে।

রান্নাঘর.সি মূলত শেফ কুকবুকগুলি পরীক্ষা করার জন্য ব্যবহৃত হয়েছিল, তবে উত্তর এবং অন্যান্য সিএম সরঞ্জামগুলির জন্যও প্লাগইন বিদ্যমান রয়েছে


5

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


0

আপনি আউটথানটিক ব্যবহার করে কনফিগারেশন / অবকাঠামোগ্যের তাত্পর্য / প্রবাহকে ট্র্যাক করতে পারেন , কাঙ্ক্ষিত স্থিতিকে "ফিক্স" করতে একটি পরীক্ষা স্যুট তৈরি করা সহজ এবং যখনই আপনার অনাকাঙ্ক্ষিত পরিবর্তনগুলি ট্র্যাক করতে হবে তখনই এটি পুনরায় চালনা করা সহজ।


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

নমস্কার! অবশ্যই, আরও বিশদ দেওয়া আছে।
অ্যালেক্সি মেলিজিক

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

"এটি কীভাবে এক হাজার সার্ভারের নিরীক্ষণ সমাধান করতে পারে" - হাজার হাজার সার্ভার সম্পর্কে আমি প্রশ্নের মধ্যে কিছু খুঁজে পেতে পারি
অ্যালেক্সি মেলিজিক

"এবং প্রবাহের বিষয়ে সতর্ক হন বা কোনও বিশ্লেষণযোগ্য আউটপুট দিয়ে নিরীক্ষকের জন্য একটি মানব পাঠযোগ্য প্রতিবেদন উপস্থাপন করুন।" উভয়ই আমি এই প্রশ্নে খুঁজে পাই না। প্রবাহিত হওয়ার স্পষ্ট সতর্কতা হ'ল পরীক্ষাগুলি ব্যর্থ হতে শুরু করে ...
আলেক্সি মেলিজিক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.