পুতুল প্রকৃতপক্ষে ক্যাভ্যাট সহ মাল্টি-মাস্টার পরিবেশে নিজেকে বেশ ভাল ধার দেয়। প্রধান এক? পুতুলের প্রচুর অংশ কেন্দ্রীভূত হতে পছন্দ করে। শংসাপত্র কর্তৃপক্ষ, ইনভেন্টরি এবং ড্যাশবোর্ড / রিপোর্ট পরিষেবাদি, ফাইলবুকটিং এবং সঞ্চিত কনফিগারেশন - সেগুলির সাথে কথা বলার জন্য কেবলমাত্র একটি জায়গা আছে এমন একটি সেটআপে (বা কেবল প্রয়োজন প্রয়োজন) সর্বোত্তম।
মাল্টি-মাস্টার পরিবেশে কাজ করে এমন অনেকগুলি মুভিং অংশগুলি অর্জন করার পক্ষে এটি বেশ কার্যকর, যদি আপনি নিজের প্রাথমিক সাইটটি হারিয়ে ফেলেছেন তবে কিছু কার্যকারিতা ক্ষুন্ন হয়ে যাওয়ার জন্য যদি আপনি ঠিক থাকেন।
মাস্টারের কাছে নোডের প্রতিবেদন পাওয়ার জন্য বেস কার্যকারিতাটি শুরু করুন:
মডিউল এবং উদ্ভাসিত
এই অংশটি সহজ। সংস্করণ এগুলি নিয়ন্ত্রণ করে। যদি এটি কোনও বিতরণযোগ্য সংস্করণ নিয়ন্ত্রণ ব্যবস্থা হয় তবে কেবলমাত্র কেন্দ্রিককরণ এবং সিঙ্ক করুন এবং ব্যর্থ সাইটে প্রয়োজনীয় হিসাবে আপনার ধাক্কা / টান প্রবাহকে পরিবর্তন করুন। যদি এটি সাবভারশন হয় তবে আপনি সম্ভবত svnsync
আপনার ব্যর্থ স্থানটি রেপোতে চাইবেন ।
শংসাপত্র কর্তৃপক্ষ
এখানে একটি বিকল্প হ'ল মাস্টারদের মধ্যে শংসাপত্র কর্তৃপক্ষের ফাইলগুলি সহজেই সিঙ্ক করা, যাতে সকলেই একই মূল শংসাপত্রটি ভাগ করে এবং শংসাপত্রগুলিতে স্বাক্ষর করতে সক্ষম হয়। এটি আমাকে সর্বদা "এটি ভুল করে" বলে আঘাত করেছে;
- একজন মাস্টারকে সত্যই অন্য কোনও মাস্টারের কাছ থেকে আগত সংযোগের জন্য ক্লায়েন্ট লেখায় উপস্থাপিত তার নিজস্ব শংসাপত্রটি বৈধ হিসাবে দেখা উচিত?
- এটি কি নির্ভরযোগ্যভাবে জায় পরিষেবা, ড্যাশবোর্ড ইত্যাদির জন্য কাজ করবে?
- আপনি কীভাবে রাস্তার নিচে অতিরিক্ত বৈধ ডিএনএস এলটি নাম যুক্ত করবেন?
আমি সত্যই বলতে পারি না যে আমি এই বিকল্পটির পুরো পরীক্ষার কাজ করেছি, কারণ এটি ভয়ঙ্কর বলে মনে হচ্ছে। যাইহোক, এটা যে পুতুল ল্যাবস নোট অনুযায়ী, এই বিকল্পটি উৎসাহিত করার জন্য খুঁজছেন হয় না বলে মনে হয় এখানে ।
সুতরাং, যে পাতাটি একটি কেন্দ্রীয় সিএ মাস্টার থাকতে হবে। সমস্ত ক্লায়েন্ট এবং অন্যান্য মাস্টাররা সিএ সার্টিফিকেট এবং সিআরএল ক্যাশে করায় সিএ নিচে থাকাকালীন সমস্ত আস্থা সম্পর্ক কাজ করে চলেছে (যদিও তারা সিআরএলকে যত তাড়াতাড়ি রিফ্রেশ করে না) যতক্ষণ না আপনি নতুন শংসাপত্রগুলি স্বাক্ষর করতে পারবেন না আপনি প্রাথমিক সাইটটি ব্যাক আপ পাবেন বা ব্যর্থ ব্যয়ে ব্যাকআপ থেকে সিএ মাস্টারটিকে ফেইলওভার সাইটে পুনরুদ্ধার করবেন।
আপনি সিএ হিসাবে অভিনয় করার জন্য একজন জনকে বেছে নেবেন এবং অন্য সমস্ত মাস্টার এটি অক্ষম করে দেবেন:
[main]
ca_server = puppet-ca.example.com
[master]
ca = false
তারপরে, আপনি চান যে কেন্দ্রীয় সিস্টেমটি শংসাপত্র সম্পর্কিত ট্র্যাফিকের সমস্তটি পাবে। এর জন্য কয়েকটি বিকল্প রয়েছে;
SRV
সমস্ত এজেন্ট নোডগুলিকে সিএর জন্য সঠিক জায়গায় নির্দেশ করতে 3.0 এ নতুন রেকর্ড সমর্থনটি ব্যবহার করুন -_x-puppet-ca._tcp.example.com
- সমস্ত এজেন্টের
ca_server
মধ্যে কনফিগারেশন বিকল্পটি সেট আপ করুনpuppet.conf
প্রক্সিটি সিএ-সম্পর্কিত অনুরোধের জন্য এজেন্ট থেকে সঠিক মাস্টারের কাছে সমস্ত ট্র্যাফিক। উদাহরণস্বরূপ, আপনি যদি প্যাসেঞ্জারের মাধ্যমে আপনার সমস্ত মাস্টার অ্যাপাচে চালাচ্ছেন তবে নন-সিএগুলিতে এটি কনফিগার করুন:
SSLProxyEngine On
# Proxy on to the CA.
ProxyPassMatch ^/([^/]+/certificate.*)$ https://puppet-ca.example.com:8140/$1
# Caveat: /certificate_revocation_list requires authentication by default,
# which will be lost when proxying. You'll want to alter your CA's auth.conf
# to allow those requests from any device; the CRL isn't sensitive.
এবং, এটি করা উচিত।
আমরা সহায়ক পরিষেবাগুলিতে যাওয়ার আগে একটি পার্শ্ব নোট;
মাস্টার শংসাপত্রগুলির জন্য ডিএনএস নাম
আমি মনে করি এটি ঠিক এখানে 3.0 এ যাওয়ার সবচেয়ে বাধ্যযোগ্য কারণ। বলুন যে আপনি "যে কোনও ওল 'ওয়ার্কিং মাস্টার" এ নোডটি নির্দেশ করতে চান।
২.7 এর অধীনে, আপনার মতো জেনেরিক ডিএনএস নাম প্রয়োজন puppet.example.com
, এবং সমস্ত মাস্টারদের তাদের শংসাপত্রে এটির প্রয়োজন। এর অর্থ dns_alt_names
তাদের কনফিগারেশনে সেটিংস স্থাপন , মাস্টার হিসাবে কনফিগার করার আগে তাদের কাছে থাকা শংসাপত্রটি পুনরায় জারি করা, যখন আপনাকে তালিকায় একটি নতুন ডিএনএস নাম যুক্ত করতে হবে তখন পুনরায় শংসাপত্রটি জারি করুন (যেমন আপনি যদি একাধিক ডিএনএস নাম চাইতেন তবে এজেন্টদের তাদের সাইটে মাস্টার্স পছন্দ করুন) .. কুরুচিপূর্ণ।
3.0 সহ, আপনি SRV
রেকর্ড ব্যবহার করতে পারেন । আপনার সমস্ত ক্লায়েন্টকে এটি দিন;
[main]
use_srv_records = true
srv_domain = example.com
তারপরে, মাস্টারদের জন্য কোনও বিশেষ শংসাপত্রের প্রয়োজন নেই - কেবলমাত্র আপনার SRV
আরআরে একটি নতুন রেকর্ড যুক্ত করুন _x-puppet._tcp.example.com
এবং আপনি সেট হয়ে গেছেন , এটি গ্রুপে একটি লাইভ মাস্টার। আরও ভাল, আপনি সহজেই মাস্টার নির্বাচনের যুক্তিকে আরও পরিশীলিত করতে পারেন; "যে কোনও ওল 'কর্মক্ষম মাস্টার, তবে আপনার সাইটে একজনকে পছন্দ করুন" SRV
বিভিন্ন সাইটের জন্য রেকর্ডের বিভিন্ন সেট স্থাপন করে ; কোন dns_alt_names
প্রয়োজন নেই।
রিপোর্ট / ড্যাশবোর্ড
এটি সর্বোত্তম কেন্দ্রীভূত হয়ে কাজ করে তবে আপনার প্রাথমিক সাইটটি ডাউন হয়ে থাকলে আপনি যদি এটি ছাড়া বাঁচতে পারেন তবে কোনও সমস্যা নেই। প্রতিবেদনগুলি রাখার জন্য সঠিকভাবে আপনার সমস্ত মাস্টারকে কনফিগার করুন ..
[master]
reports = http
reporturl = https://puppetdash.example.com/reports/upload
..আপনি সব প্রস্তুত কোনও প্রতিবেদন আপলোড করতে ব্যর্থতা কনফিগারেশন পরিচালনার জন্য মারাত্মক নয়; ড্যাশবোর্ড সার্ভারের টোস্টটি খালি হারিয়ে যাবে।
ফ্যাক্ট ইনভেন্টরি
আপনার ড্যাশবোর্ডে আটকানো আরও একটি দুর্দান্ত জিনিস হ'ল ইনভেন্টরি পরিষেবা। ডকুমেন্টেশনে প্রস্তাবিত হিসাবে facts_terminus
সেট সহ rest
, কেন্দ্রীয় ইনভেন্টরি পরিষেবা বন্ধ হয়ে গেলে এটি প্রকৃতপক্ষে কনফিগারেশন চলবে। এখানে কৌশলটি হ'ল inventory_service
নন-সেন্ট্রাল মাস্টারগুলিতে টার্মিনাসটি ব্যবহার করা , যা প্রশংসনীয় ব্যর্থতার জন্য অনুমতি দেয় ..
facts_terminus = inventory_service
inventory_server = puppet-ca.example.com
inventory_port = 8140
আপনার কেন্দ্রীয় ইনভেনটরি সার্ভারটি অ্যাক্টিভেকর্ড বা পুপেটডিবি এর মাধ্যমে ইনভেন্টরি ডেটা সংরক্ষণ করার জন্য সেট করুন এবং যখনই পরিষেবা উপলব্ধ থাকে তখন তা আপডেট হওয়া উচিত।
সুতরাং - আপনি যদি খুব সুন্দর নগ্নপদে কনফিগারেশন পরিচালনার পরিবেশে নেমে যাচ্ছেন ঠিক যেখানে আপনি পুনরায় পুনরুদ্ধার হওয়া পর্যন্ত সিএ ব্যবহার করতে পারবেন না নোডের সার্টটি পুনরুদ্ধার হওয়া পর্যন্ত, তবে এটি ঠিক কাজ করতে পারে - যদিও এটি সত্যিই দুর্দান্ত লাগবে যদি এই উপাদানগুলির কিছু বিতরণ করার জন্য কিছুটা বন্ধুত্বপূর্ণ হয় ।