কীভাবে উত্তরযোগ্য সহ পৃথক হোস্টের হোস্ট ভেরিয়েবল অ্যাক্সেস করবেন?


45

আসুন যাক এর একটি হোস্ট আছে যা কিছু ডেটা সংগ্রহ করে এবং এটি একটি গোষ্ঠীতে [collectors]। আমারও গ্রুপে হোস্ট আছে [reporters]। সুতরাং আমি groups['collectors'][0]আইপি ঠিকানা থেকে সাংবাদিকদের উপর একটি পরিবর্তনশীল সেট করতে চাই । তবে সাংবাদিক স্থাপনের জন্য প্লেবুক [collectors]গ্রুপে চলবে না তাই এই হোস্টের জন্য তথ্য সংগ্রহ করা হয় না। আইপি ঠিকানাকে হার্ডকোড না দেওয়ার কোনও উপায় কি?

উত্তর:


87

এই জাতীয় কিছু করে আপনি কোনও আবিষ্কারের তথ্য / ভেরিয়েবল অ্যাক্সেস করতে পারবেন:

{{ hostvars['foo.example.com']['ansible_eth0']['ipv4']['address'] }}

বা, আপনি যদি একটি সূচির মাধ্যমে একটি গোষ্ঠীতে এটি করতে চান:

{{ hostvars[groups['collectors'][0]]['ansible_eth0']['ipv4']['address'] }}

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

- hosts: collectors
  name: Gather facts from collectors
  tasks: [ ]

খালি বন্ধনীটি বলতে বোঝায় যে কোনও কাজ সম্পাদন করা হবে না, তবে এটি এখনও উত্তরদাতাকে সংগ্রহকারীদের সম্পর্কে তথ্য সংগ্রহ করতে বাধ্য করবে যাতে আপনি তারপরে আপনার সাংবাদিকদের বিরুদ্ধে যে কাজগুলি চালিয়ে যান সেগুলিতে সেগুলি উল্লেখ করতে পারেন।

সম্পাদনা # 1

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

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


2
ভেরিয়েবল হিসাবে এসোসিয়েটিভ ইনডেক্স সেট করার কোনও উপায় আছে কি? উদাহরণস্বরূপ উত্তরীয় লোকালহোস্ট --েক্সট্রা-ওয়ার্স "রূপান্তরিত_আইপি = 172.16.3.73" -এ "প্রতিধ্বনি {{হোস্টভর্স [{{রূপান্তর_সিপ}}] ['inv_domain']}}"
16

উপরের উত্তরে যুক্ত করার জন্য নিশ্চিত হয়ে নিন যে আপনি এখানে উত্তরযোগ্য এফএকিউটি উল্লেখ করেছেন: ডকসস.এসসিবি.এলসিবল / এফএসএইচটিএমএল যা বিশদভাবে বিষয়গুলি ব্যাখ্যা করে, যেমন হোস্টের একটি দলের উপর লুপিং বা একটি নির্দিষ্ট হোস্ট পাওয়ার জন্য একটি ভেরিয়েবল সেট করা like সঙ্গবদ্ধভাবে.
22

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