পুতুল মাস্টার ব্যবহার করে সমস্ত মেশিনে ফাইলগুলি কীভাবে অনুলিপি করবেন?


12

আমি ওবুন্টু ১১.০৪-তে পুতুলমাস্টার ইনস্টল করেছি এবং আমি আমার সমস্ত ক্লায়েন্টে পুতুল ইনস্টল করেছি। আমি পুতুল মাস্টারের সাথে আমার সমস্ত পুতুল ক্লায়েন্টে যোগদান করেছি। পুতুলের মাস্টার থেকে এই সমস্ত পুতুল ক্লায়েন্টের কাছে কোনও ফাইল অনুলিপি করা সম্ভব?

উদাহরণ স্বরূপ:

আমার ডেস্কটপে (পুতুল মাস্টার) নামক ফাইলটি ডেটা.এক্সলস রয়েছে। নিম্নলিখিত ফাইলের (/ হোম / অপারেটর 1 / ডেস্কটপ / ব্যাকআপ /) আমার সমস্ত পুতুল ক্লায়েন্টের কাছে কীভাবে আমি এই ফাইলগুলি অনুলিপি করব?

হালনাগাদ:

  • হাই এখনও ফাইল ভাগ হচ্ছে না।
  • এই লাইনটি কীভাবে সংশোধন puppet:///modules/module_name/datas.xlsকরবেন ফাইলটি অনুলিপি করতে হবে এই অবস্থানের অধীনে /etc/puppet/modules/mymodule/manifests/datas.xls?

ক্লায়েন্টে ত্রুটি: (সমাধান করা)

root@testing:~# puppetd --test 
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find class sudo at /etc/puppet/manifests/site.pp:2 on node testing.chn.jd.com
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run

ক্লায়েন্টে ত্রুটি 2:

root@tme13:~# puppetd --test
err: Could not run Puppet configuration client: Could not retrieve local facts: bad URI(is not URI?): http://169.254.169.254/2008-02-01/meta-data/<HTML><HEAD><TITLE>HTTP access denied</TITLE></HEAD><BODY><img src/

নতুন আপডেট:

সমস্ত নোডে এই মডিউলটি কীভাবে প্রয়োগ করবেন? ফাইলটি সমস্ত নোডে অনুলিপি করা হবে।


... তবে আপনি কি এই প্রশ্নটি ইতিমধ্যে জিজ্ঞাসা করলেন না? Askubuntu.com/questions/61080/…
ফসফ্রিডম

হ্যাঁ তবে সমাধানটি আর কাজ করছে না।
karthick87

এছাড়াও এটি খুব পরিষ্কার নয়, ব্যবহারকারী কেবল কয়েকটি ওয়েবসাইট থেকে সামগ্রীটি অনুলিপি করেছেন।
karthick87

এখনও নতুন প্রশ্ন (?) বিটিডব্লিউ করার কোনও কারণ নয় কারণ আমি জর্জে আমাকে যে লিঙ্কটি দিয়েছিলাম তা থেকে একটি অনুলিপি করেছিল এবং সে আমাকে সি / পি করতে বলেছিল;) আফিক যে উত্তরটিতে রয়েছে তা এখনও কাজ করে !?
রিনজুইন্ড

এখানে আরেকটি রেফারেন্স রয়েছে: সার্ভারফল্ট.কোয়েশনস
রিনজউইন্ড

উত্তর:


24

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

ধরা যাক আপনি নামে পরিচিত একটি নতুন মডিউল শুরু করেন mymodule। পুতুলের হোম ডিরেক্টরিতে (সাধারণত /etc/puppet) পুতুল মাস্টারে আপনার মডিউলটি প্রকাশ করে এবং ফাইল ডিরেক্টরি তৈরি করা উচিত:

mkdir -p modules/mymodule/manifests
mkdir -p modules/mymodule/files

তারপরে সেই ডিরেক্টরিতে একটি ফাইল তৈরি করুন init.ppএবং প্রবেশ করুন:

class myfile {
    file { '/home/operator1/Desktop/Backup':
        ensure => directory,
        mode => '0755',
        owner => 'operator1',
        group => 'operator1',
    }

    file { "/home/operator1/Desktop/Backup/datas.xls":
        mode => "0644",
        owner => 'operator1',
        group => 'operator1',
        source => 'puppet:///modules/module_name/datas.xls',
    }
}

তারপরে datas.xlsফাইলটি মডিউলটির filesডিরেক্টরিতে রেখে দিন - এই উদাহরণটিতে modules/mymodule/files/। (দ্রষ্টব্য টেমপ্লেটগুলিরtemplates জন্য একটি ডিরেক্টরিও থাকতে পারে )।

ইন manifests/site.ppআপনি যে ফাইলটি ভালো কিছু করে মডিউল আমদানি ও শ্রেণী অন্তর্ভুক্ত করা প্রয়োজন:

import 'mymodule'

node base {
    include myfile
}

node server1 inherits base {}
node server2 inherits base {
    # extra config here
}

আপনার সমস্ত নোড বেস থেকে উত্তরাধিকার সূত্রে নিশ্চিত হন এবং আপনার যা করা দরকার তা হ'ল। পুতুল 0.25 হিসাবে আপনি নোড নামগুলিতে নিয়মিত এক্সপ্রেশন ব্যবহার করতে পারেন, যেমন:

node server[0-9] inherits base {}

আপনার আরও ব্যাখ্যা প্রয়োজন হলে আমাকে মন্তব্যে জানান।

পুতুল মাস্টারের সাথে কথা বলার জন্য একটি ক্লায়েন্ট স্থাপন করা

ক্লায়েন্টে, আপনাকে এটি করতে হবে:

sudo apt-get install puppet

তারপরে সম্পাদনা করুন /etc/default/puppetএবং এতে পরিবর্তন START=noকরুন START=yes

পুতুলের মাস্টার কোথায় পাবেন তা জানাতে বিভাগে /etc/puppet/puppet.confএকটি লাইন সম্পাদনা করুন এবং যুক্ত করুন [main]:

server=puppet.mydomain.com

তারপরে আমরা একটি পরীক্ষা চালাতে পারি sudo puppetd --test। যদি আপনি কী ত্রুটিগুলি পান তবে আপনার পুতুল মাস্টার সার্ভারে গিয়ে ক্লায়েন্ট কীতে স্বাক্ষর করতে হবে। সঠিক নামটি যা করতে পারেন তা পরীক্ষা করতে sudo puppetca --listএবং তারপরে sudo puppetca --sign server1.mydomain.com(বা সার্ভারের নাম যা লিখিত কমান্ড থেকে ছিল)।

এখন পুতুল পরিষেবাটি দিয়ে শুরু করুন sudo service puppet startএবং আপনার দূরে থাকা উচিত। পুতুল পরিষেবা প্রতি ঘন্টা চলবে, সুতরাং আপনি যদি আপনার পুতুলের রেসিপিগুলি আপডেট করেন তবে আপনার সমস্ত ক্লায়েন্টও আপডেট হবে।

ফাইলগুলি মোছা হচ্ছে

আমি মূল প্রশ্নটিতে নোট করছি আপনি কীভাবে ফাইলগুলি মুছবেন তা জানতে চেয়েছিলেন। আপনি সম্পাদনা করা দরকার manifests/init.ppহতে

file { "/home/operator1/Desktop/Backup/datas.xls":
    ensure => absent,
}

অন্যান্য দরকারী টিপস

আপনার যদি সমস্যা হয় তবে কিছু কাজ করতে পারেন। পুতুল ইনস্টল করা যে কোনও মেশিনে আপনি চালিয়ে আপনার সিনট্যাক্স পরীক্ষা করতে পারেন

puppet --parseonly --ignoreimport myfile.pp

বা --ignoreimportপতাকাটি বের করে পুরোটা পরীক্ষা করে দেখুন , যদিও এর ফলে কিছু মজার ত্রুটি বার্তা দেখা দিতে পারে যা সত্যই খুঁজে পেয়েছি ত্রুটি নয়। আপনি পুতুল ক্লায়েন্ট মেশিনে পুতুল লাইভ চালাতে পারেন:

sudo puppetd --test

যা বিভিন্ন রঙে হাইলাইট করা ত্রুটি এবং সতর্কতা সহ বিভিন্ন দরকারী আউটপুট প্রদর্শন করে। আপনি আরও বিস্তারিত জানতে চাইলে চালাতে পারেন:

sudo puppetd --test --debug

তবে এটি সাধারণভাবে এত বেশি আউটপুট উত্পন্ন করে যে এটির মধ্য দিয়ে যাওয়া শক্ত so

দ্রষ্টব্য এটি পুতুল 0.25.x এর উপর ভিত্তি করে তৈরি করা হয় যা আমি বর্তমানে কর্মক্ষেত্রে ব্যবহার করি এবং এটি উবুন্টু 10.04-এও সংস্করণ। মূল বিভাগের পুতুল কোডটি অবশ্যই স্পষ্টভাবে কাজ করবে তবে পুতুলের পরবর্তী সংস্করণগুলিতে নতুন পতাকা রয়েছে যা ডিবাগিং আউটপুটটিকে সহায়তা করতে পারে।


আমাকে আজ রাতে এই সমাধানটি চেষ্টা করতে দিন এবং আপনাকে আপডেটগুলি জানাতে দিন। অনেক অনেক ধন্যবাদ :)
karthick87

এই লাইনটি কীভাবে সংশোধন puppet:///modules/module_name/datas.xlsকরবেন ফাইলটি অনুলিপি করতে হবে এই অবস্থানটির অধীনে/etc/puppet/modules/mymodule/manifests/datas.xls
karthick87

ফাইলটি অনুলিপি করা উচিত /etc/puppet/modules/mymodule/files/datas.xls- আমি সে সম্পর্কে আরও পরিষ্কার হওয়ার জন্য উত্তর আপডেট করব।
হামিশ ডাউনার

ওকে ধন্যবাদ,। কিভাবে চালাবেন?
karthick87

পুতুলমাস্টার থেকে সমস্ত নোডে এই মডিউলটি কীভাবে প্রয়োগ করবেন? এটি প্রতিটি নোডে জোর করে চালানোর মাধ্যমে প্রয়োগ করার পরিবর্তেpuppet agent --test
কর্থিক ৮87
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.