2012-05-23 21 views
20

मैं कठपुतली के लिए नया हूं, लेकिन इसे जल्दी से उठा रहा हूं। आज, मैं निम्नलिखित चलाने की कोशिश करते समय एक समस्या में भाग रहा हूं:कठपुतली एजेंट सर्वर नहीं ढूंढ सकता

$ puppet agent --no-daemonize --verbose --onetime 

**err: Could not request certificate: getaddrinfo: Name or service not known 
Exiting; failed to retrieve certificate and waitforcert is disabled** 

ऐसा प्रतीत होता है कि एजेंट नहीं जानता कि सर्वर किससे कनेक्ट होना है। मैं कमांड लाइन पर --server निर्दिष्ट कर सकता हूं, लेकिन जब उत्पादन में डेमॉन के रूप में चलता है तो यह मेरे लिए उपयोग नहीं करेगा, इसलिए, मैं सर्वर नाम को /etc/puppet/puppet.conf में निर्दिष्ट करता हूं:

[main] 
    server = puppet.<my domain> 

मैं कर puppet.<my domain> के लिए एक DNS प्रविष्टि है और अगर मैं dig puppet.<my domain>, मुझे लगता है कि नाम सही ढंग से हल करता है।

सभी कठपुतली दस्तावेज मैंने पढ़ा है कि एजेंट डिफ़ॉल्ट रूप से puppet पर एक कठपुतली मास्टर से कनेक्ट करने का प्रयास करता है और आपके विकल्प मेजबान फ़ाइल चालबाजी हैं या सही काम करते हैं, DNS में एक CNAME बनाते हैं, और puppet.conf को संपादित करते हैं तदनुसार, जो मैंने किया है।

तो मुझे क्या याद आ रही है? कोई भी मदद बहुत ही सराहनीय होगी!

+0

इस के साथ बजाना, मुझे आश्चर्य है कि अगर इस मनोरंजक में निष्पादित किया गया तो puppet.conf भी पढ़ा जाता है। मैंने puppet.conf में कचरा डाल दिया है और यहां तक ​​कि इसे हटाने का प्रयास किया है और न ही परिणाम को प्रभावित करता है जब एजेंट कमांड लाइन से चलाया जाता है। हालांकि, यह सेवा के रूप में चलाने पर साफ स्टार्टअप और शटडाउन को रोकता है। क्या यह आसान हो सकता है? –

उत्तर

50

डी ओह! ऐसा करने के लिए sudo की आवश्यकता है! फिर सब कुछ काम करता है।

+8

आह - जब आप सुडो का उपयोग नहीं कर रहे हैं, तो कठपुतली केवल /etp/puppet/puppet.conf की बजाय ~/.puppet/puppet.conf पढ़ेगी। कठपुतली रूट विशेषाधिकारों के बिना चल सकती है, लेकिन स्पष्ट रूप से सिस्टम पैकेज स्थापित नहीं कर सकती है या सेवाओं का प्रबंधन नहीं कर सकती है। –

+1

मुझे भी बाहर पकड़ा। धन्यवाद :) –

+0

एक छोटा सा नोट। जब पपेट को सेंटोस पर 'कठपुतली' जैसे विशेष उपयोगकर्ता के साथ स्थापित किया जाता है, तो आपको इसे उस उपयोगकर्ता के साथ चलाया जाना चाहिए और इस तरह '- सर्वर' पैरामीटर प्रदान करना होगा: 'sudo -u कठपुतली कठपुतली एजेंट - सर्वर = puppet.my-domain .com' –

0

मुझे वास्तव में एक ही त्रुटि थी, लेकिन मैं दो सीखने कठपुतली वीएम का उपयोग कर रहा था और 'कठपुतली एजेंट - टेस्ट' कमांड चलाने की कोशिश कर रहा था।

मैं दोनों गुरु और एजेंट वीएम और लाइन

***.***.***.*** learn.localdomain learn puppet.localdomain puppet 

आईपी पते (तारांकन) पर फ़ाइल/etc/hosts खोलने से समस्या हल मूल रूप से कुछ यादृच्छिक संख्या थी। मुझे इस नंबर को दोनों वीएम पर बदलना पड़ा ताकि यह मास्टर नोड का आईपी पता था।

तो मुझे अनुभवी उपयोगकर्ताओं के लिए लगता है कि मेरी सलाह यह सुनिश्चित करने के लिए/etc/hosts फ़ाइल को जांचना है कि मास्टर और एजेंट के लिए यहां आईपी पते न केवल मेल खाते हैं बल्कि मास्टर के आईपी पते के समान हैं।

मेरे जैसे अन्य नोबर्स के लिए मेरी सलाह दस्तावेज़ीकरण को और स्पष्ट रूप से पढ़ना है। यह 'एक एजेंट वी एम की स्थापना' प्रक्रिया में एक कदम मैं पूरी तरह xD

2

याद किया मैं --server ध्वज का इस्तेमाल करना पड़ा था:

sudo puppet agent --noop --server=puppet.example.org 
0

मेरे मामले में मैं एक ही त्रुटि हो रही थी, लेकिन यह कारण था प्रमाण पत्र के लिए जो puppetmaster सर्वर पर नोड पर हस्ताक्षर किया जाना चाहिए।

प्रमाणपत्र लंबित जांच करने के लिए निम्नलिखित चलाएँ:

कठपुतली प्रमाणपत्र सूची

"node.domain.com" (SHA256) 8D: E5: 8A: 2 ******* "

नोड के लिए प्रमाणपत्र पर हस्ताक्षर:

कठपुतली node.domain.com हस्ताक्षर प्रमाणपत्र

0

CentOS 6.4 पर puppet 2.6 पर आज एक ही मुद्दा था मैंने इस मुद्दे को हल करने के लिए मेजबान और संकल्प जैसे सामान्य सामानों की जांच करना था।यह सुनिश्चित करने के लिए कि वे अपेक्षित थे (एक कार्यकारी सर्वर की तुलना में) और फिर;

  1. निकाला गया/var/lib/कठपुतली निर्देशिका rm -rf /var/lib/puppet
  2. को साफ कर दिया कठपुतली मास्टर puppetca --clean servername
  3. पर प्रमाण पत्र को पुनः आरंभ नेटवर्क service network restart
  4. फिर से भाग गया कठपुतली

भी निराकरण हालांकि .conf काम करने वाले सर्वर के समान था, कठपुतली resolv.conf अद्यतन किया गया और तुरंत प्रमाण पत्र पर हस्ताक्षर किए और सभी कठपुतली lib फ़ाइलों को बदल दिया।

उसके बाद सबकुछ ठीक था।

संबंधित मुद्दे