উত্তরযোগ্য ভূমিকা - আপনার প্লেবুকগুলি আনুভূমিক করার চূড়ান্ত উপায়

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

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



বিষয়গুলি আচ্ছাদিত:



আপনি যদি ডিভোপ্সকে আয়ত্ত করতে চান, ' অবশ্যই আপনার যেতে যাওয়ার বিকল্প হবে।

প্রোগ্রাম শেষ করতে জাভা কমান্ড

জবাবদিহি ভূমিকা ভূমিকা

উত্তরীয় ভূমিকা হ'ল এমন ধারণা যা ঘটনার পরিবর্তে ধারণাগুলি নিয়ে কাজ করে। এটি মূলত বিমূর্তির আরেকটি স্তর যা প্লেবুকগুলি সংগঠিত করতে ব্যবহৃত হয়েছিল। তারা ভেরিয়েবল, টাস্ক, টেম্পলেট, ফাইল এবং মডিউলগুলির একটি স্বতন্ত্র এবং পুনরায় ব্যবহারযোগ্য সংগ্রহের জন্য একটি কঙ্কাল সরবরাহ করে যা প্লেবুকের মধ্যে স্বয়ংক্রিয়ভাবে লোড হতে পারে। প্লেবুকগুলি ভূমিকাগুলির সংকলন। প্রতিটি ভূমিকার নির্দিষ্ট কার্যকারিতা রয়েছে।



এটি একটি উদাহরণ দিয়ে ব্যাখ্যা করি। মনে করুন আপনি নিজের প্লেবুকটি 5 টি ভিন্ন সিস্টেমে 10 টি বিভিন্ন কাজ সম্পাদন করতে চান, আপনি কি এর জন্য একটি একক প্লেবুক ব্যবহার করবেন? না, একটি একক প্লেবুক ব্যবহার করা এটি বিভ্রান্তিকর এবং ভুলত্রুটি হতে পারে। পরিবর্তে, আপনি 10 টি বিভিন্ন ভূমিকা তৈরি করতে পারেন, যেখানে প্রতিটি ভূমিকা একটি কাজ সম্পাদন করবে। তারপরে, আপনাকে যা করতে হবে তা হল, তাদের কল করার জন্য প্লেবুকের ভিতরে থাকা ভূমিকার নাম উল্লেখ করুন। আপনি এই ব্লগে আরও কীভাবে ভূমিকা ব্যবহার করবেন তা শিখবেন।

উত্তরযোগ্য ভূমিকা পুনরায় ব্যবহারযোগ্যতা

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

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



ধরা যাক আপনাকে এলএএমপি স্ট্যাক সেট আপ করার জন্য একটি প্লেবুক লিখতে হবে। লিনাক্স, অ্যাপাচি, মঙ্গোডিবি এবং পিএইচপি তৈরির জন্য আপনাকে চারটি ভূমিকা তৈরি করতে হবে। ভবিষ্যতে, আপনি যদি ওয়ার্ডপ্রেসের পাশাপাশি ল্যাম্প স্ট্যাক স্থাপনের জন্য অন্য কোনও প্লেবুক চান তবে আপনি কি আবার ল্যাম্প স্ট্যাক এবং ওয়ার্ডপ্রেসের জন্য নতুন ভূমিকা তৈরি করবেন? না! আপনি কেবল পুরানো ভূমিকাগুলি পুনরায় ব্যবহার করতে পারেন (এলএএমপি স্ট্যাকের জন্য ব্যবহৃত) এবং অতিরিক্তভাবে ওয়ার্ডপ্রেসের জন্য একটি নতুন ভূমিকা তৈরি করতে পারেন।

ভূমিকা ডিরেক্টরি কাঠামো

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

ডিরেক্টরিটি এর মতো দেখাবে:

গাছ - উত্তরযোগ্য ভূমিকা - এডুরেকা

আপনি ব্যবহার করে একটি ভূমিকা তৈরি করতে পারেন জবাবদিহি init কমান্ড ভিতরে / ইত্যাদি / উত্তরযোগ্য / ভূমিকা।

$sudoজবাবদিহি - ছায়াপথ init

আপনি দেখতে পাবেন যে অন্যান্য ভূমিকা ডিরেক্টরিগুলিও তৈরি করা হত।

এই ডিরেক্টরিগুলি হল টাস্ক, হ্যান্ডলার, ডিফল্ট, ভার্স, ফাইল, টেম্পলেট এবং মেটা এবং একটি README।এমডিফাইল।

কাজ - ভূমিকা দ্বারা সম্পাদিত হওয়া কাজগুলির প্রধান তালিকা রয়েছে। এটাথাকেসেই বিশেষ ভূমিকার জন্য মূল.আইএমএল ফাইল।

t বর্গক্ষেত্রের তারিখের ডেটা টাইপ

হ্যান্ডলাররা - হ্যান্ডলারগুলি ধারণ করে যা এই ভূমিকা বা এমনকি এই ভূমিকার বাইরে কোথাও ব্যবহার করা যেতে পারে।

পূর্ব নির্ধারিত - এই ভূমিকা দ্বারা ব্যবহৃত হতে যাওয়া ডিফল্ট ভেরিয়েবলগুলি ধারণ করে।

যার - এই ডিরেক্টরিতে অন্যান্য ভেরিয়েবল রয়েছে যা ভূমিকাটি ব্যবহার করতে চলেছে। এই ভেরিয়েবলগুলি আপনার প্লেবুকে সংজ্ঞায়িত করা যেতে পারে তবে এ বিভাগে এগুলি সংজ্ঞায়িত করা ভাল অভ্যাস।

নথি পত্র - এমন ফাইল রয়েছে যা এই ভূমিকা দ্বারা মোতায়েন করা যেতে পারে। এটিতে এমন ফাইল রয়েছে যা ভূমিকা কনফিগার করার সময় হোস্টগুলিতে প্রেরণ করা প্রয়োজন।

মেটা - এই ভূমিকার জন্য মেটাডেটা সংজ্ঞায়িত করে। মূলত, এতে এমন ফাইল রয়েছে যা ভূমিকা নির্ভরতা প্রতিষ্ঠা করে।

প্রতি টাস্ক ডিরেক্টরিতে অবশ্যই একটি থাকা উচিত main.yml ফাইল যেখানে নির্দিষ্ট ভূমিকার জন্য আসল কোড লেখা আছে।

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

ডেমো: জবাবদিহি ভূমিকা ব্যবহার করে MEAN স্ট্যাক ইনস্টল করা

আমি কেবল একটি একক প্লেবুক সম্পাদন করে কীভাবে জবাবদিহি রোলগুলি ব্যবহার করে MEAN স্ট্যাক ইনস্টল করবেন তা প্রদর্শিত করব। আমাদের তিনটি ভূমিকা থাকবে: 1) পূর্বশর্ত ইনস্টল করা, 2) মঙ্গোডিবি ইনস্টল করা এবং 3) নোডজেএস ইনস্টল করা। আমি ধরে নিচ্ছি যে আপনি ইতিমধ্যে এসেছেন জবাব ইনস্টল করেছেন এবং উবুন্টুতে একটি সার্ভার-ক্লায়েন্ট সংযোগ তৈরি করেছেন । আসুন উত্তরীয় ভূমিকা নিয়ে খেলতে শুরু করি।

অ্যালগরিদম সাজান সি ++

ধাপ 1 - / ইত্যাদি / উত্তরযোগ্য / ভূমিকা ডিরেক্টরিতে নেভিগেট করুন এবং পূর্বশর্ত, মঙ্গোডিবি এবং নোডজেএসের জন্য ভূমিকা তৈরি করুন।

d সিডি / ইত্যাদি / জবাবদিহি / ভূমিকা $ সুডো উত্তরযোগ্য-গ্যালাক্সী ডিআইআর পূর্বশর্তগুলি $ সুডো উত্তরযোগ্য-গ্যালাক্সি আর ডি মংডব $ সুডো উত্তরযোগ্য-গ্যালাক্সি আর ডি নোডেজ

আপনার এখন আপনার ‘ভূমিকা’ ডিরেক্টরিতে তিনটি ভূমিকা দেখতে পাওয়া উচিত।

ধাপ ২ - পূর্বশর্তগুলির জন্য মেইন.আইএমএল লিখুন যা গিট ইনস্টল করে।

$ সিডির পূর্বশর্ত / কার্য / মূল.আইএমএল --- - নাম: গিট অ্যাপটি ইনস্টল করুন: নাম: গিট অবস্থা: বর্তমান আপডেট_ক্যাচ: হ্যাঁ

ধাপ 3 - মংগোডিবি ভূমিকার জন্য মেইন.আইএমএল লিখুন

d সিডি / মমংডব / টাস্কস / মেইন.আইএমএল --- - নাম: মঙ্গোডিবি - পাবলিক কী আমদানি করুন #_key: কীসারবার: hkp: //keyserver.ubuntu.com: 80 আইডি: EA312927 - নাম: মঙ্গোডিবি - সংগ্রহস্থল apt_repository: ফাইলের নাম: '/etc/apt/sources.list.d/mongodb-org-3.2.list' রেপো: 'দেব http://repo.mongodb.org/apt/ubuntu বিশ্বস্ত / মংডোব-org / 3.2 মাল্টিয়ার্স' রাষ্ট্র: বর্তমান আপডেট_ক্যাচ : হ্যাঁ - নাম: মঙ্গোডিবি - মঙ্গোডিবি অ্যাপ্লিকেশন ইনস্টল করুন: নাম: মঙ্গোডব-ওআরজি রাষ্ট্র: বর্তমান আপডেট_ক্যাচ: হ্যাঁ - নাম: মঙ্গোড শেল শুরু করুন: 'মঙ্গোদ এবং'

পদক্ষেপ 4 - মেইন.আইএমএল লিখুননোডেজভূমিকা

d সিডি নোডেজ / টাস্কস / মেইন.আইএমএল --- - নাম: নোড.জেএস - স্ক্রিপ্ট পান get_url: url: 'http://deb.nodesource.com/setup_6.x' ভাগ্য: '{{var_node}} / নোডেজ .sh '- নাম: নোড.জেএস - স্ক্রিপ্ট ফাইলটিতে নির্বাহের অনুমতি সেট করুন: পথ:' {{var_node}} / nodejs.sh 'মোড:' u + x '- নাম: নোড.জেএস - ইনস্টলেশন স্ক্রিপ্ট শেল চালান:' script {var_node}} / nodejs.sh '- নাম: নোড.জেএস - ইনস্টলেশন স্ক্রিপ্ট ফাইল সরান: পথ:' {{var_node}} / nodejs.sh 'অবস্থা: অনুপস্থিত - নাম: নোড.জেএস - নোড.জেএস অ্যাপটি ইনস্টল করুন pt : নাম = {{আইটেম}} রাষ্ট্র = উপস্থিত আপডেট_ক্যাশ = হ্যাঁ_টাইমস: - বিল্ড-অপরিহার্য - নোডজেস - নাম: নোড.জেএস - বোভার এবং গল্প বিশ্বব্যাপী ইনস্টল করুন এনএমপি: নাম = {{আইটেম}} রাষ্ট্র = বর্তমান বিশ্বব্যাপী = হ্যাঁ_প্রেমী : - বাঁধন - গাল্প

পদক্ষেপ 5 - আপনার মূল প্লেবুক লিখুন

$ সিডি /etc/ansible/mean.yml --- - হোস্ট: নোড রিমোট_উসার: উত্তরযোগ্য হয়ে: হ্যাঁ হয়ে যান_মোথডো: সুডো ওয়ার্স: # নোড ইনস্টলেশন চলাকালীন পরিবর্তনের প্রয়োজন var_node: / tmp ভূমিকা: - পূর্বশর্ত - মোংডব - নোডেজ

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

$sudoউত্তরযোগ্য-প্লেবুক /etc/ansible/mean.yml -K

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

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

আমাদের জন্য একটি প্রশ্ন আছে? এটি পোস্ট করুন এবং আমরা আপনার কাছে ফিরে আসব।