คำถามติดแท็ก puppet

Puppet เป็นเครื่องมือจัดการการกำหนดค่า (Unix & Windows) พร้อม Domain Specific Language

5
puppet: บังคับให้เริ่มบริการใหม่หลังจากแก้ไขไฟล์กำหนดค่าแล้ว
ฉันจะมั่นใจได้อย่างไรว่าหากไฟล์การกำหนดค่าเวอร์ชันใหม่ถูกดาวน์โหลดผ่าน puppet จากแหล่งเก็บข้อมูลหลักไปยังเซิร์ฟเวอร์ที่ได้รับการจัดการอย่างใดอย่างหนึ่งจะเริ่มบริการที่เกี่ยวข้องใหม่ สถานการณ์สมมติทั่วไป - สมมติว่ามีการกำหนดค่า munin หรือ apache ใหม่ ลูกค้าหุ่นกระบอกค้นพบมันเขียนทับไฟล์ในตัวเครื่อง ... และ ... - จะทำให้แน่ใจได้อย่างไรว่าบริการเริ่มต้นใหม่ / โหลดใหม่? ขอบคุณมาก!

2
Puppet: ชื่อโหนดดูเหมือนจะขึ้นอยู่กับ reverse DNS
ดูเหมือนว่าฉันจะพบปัญหาเล็กน้อยเกี่ยวกับการทำความเข้าใจวิธีการใช้งานสิ่งนี้ ฉันมีเซิร์ฟเวอร์ใหม่ที่ฉันกำลังสร้างนั่งอยู่ด้านหลังสำนักงาน NAT ในที่ทำงานมันเป็นแผนที่ DNS ย้อนกลับoffice.mydomain.comแต่ฉันต้องการให้เครื่องเป็นns2.mydomain.comหุ่นเชิด ตัวอย่าง nodes.pp: node 'ns2.mydomain.com' inherits basenode { info('ns2.mydomain.com') } node 'office.mydomain.com' inherits basenode { info('office.mydomain.com') } และ 'puppet.conf' ของฉันที่ไคลเอนต์: [main] #was node_name=ns2.mydomain.com #was fqdn=ns2.mydomain.com certname=ns2.mydomain.com node_name=cert syslog ของฉันในรายงานเซิร์ฟเวอร์: Sep 16 22:59:12 support puppetmasterd[2800]: Host is missing hostname and/or domain: office.mydomain.com Sep 16 22:59:12 support …
20 puppet 

3
วิธีทำไฟล์ / dir มีเงื่อนไขใน Puppet อย่างไร
ฉันกำลังพยายามเขียนฟังก์ชั่นในหุ่นกระบอกที่จะทำfailถ้าเส้นทางไดเรกทอรีผ่านไม่มีอยู่ if File["/some/path"]คืนค่าจริงเสมอและif defined(File["/some/path"])คืนค่าจริงถ้าทรัพยากรถูกกำหนดเป็นหุ่นเชิดโดยไม่คำนึงว่ามีอยู่จริงหรือไม่ มีวิธีทำด้วยifคำสั่งง่ายๆหรือไม่ ขอบคุณ
18 puppet 

5
เมื่อใดควรใช้ตัวจัดการการกำหนดค่า (เช่น Puppet / Chef / Ansible) เมื่อใด
ที่ทำงานปัจจุบันของฉันฉันดูแลเครื่องโฮสต์ VMware สองเครื่องเครื่อง OpenBSD จริงสามเครื่อง Debian VM และ Windows Server VM หกเครื่อง (2008/2012) ฉันกำลังพิจารณาใช้เครื่องมือจัดการการกำหนดค่าเช่น Puppet หรือ Chef มีเหตุผลหรือค่าใช้จ่ายในการเรียนรู้ของเครื่องมือมีประโยชน์มากกว่าหรือไม่ จุดเปลี่ยนอยู่ตรงไหนระหว่างความสามารถในการจัดการและค่าดำเนินการ

5
จุดแข็งและจุดอ่อนของระบบการจัดการการกำหนดค่าที่มีอยู่คืออะไร [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันมองหาที่นี่เพื่อเปรียบเทียบการเปรียบเทียบระหว่างCFEngine , Puppet , Chef , bcfg2 , AutomateItและสิ่งที่ระบบการจัดการการกำหนดค่าอื่น ๆ อาจจะอยู่ที่นั่นและรู้สึกประหลาดใจมากที่ฉันพบว่าที่นี่น้อยมากบน Server Fault ตัวอย่างเช่นฉันรู้เพียงสามลิงค์แรกด้านบน - อีกสองฉันพบในการค้นหา google ที่เกี่ยวข้อง ดังนั้นฉันไม่สนใจในสิ่งที่ผู้คนคิดว่าดีที่สุดหรือสิ่งที่พวกเขาชอบ ฉันต้องการทราบสิ่งต่อไปนี้: ชื่อระบบการจัดการการกำหนดค่า ทำไมมันถูกสร้างขึ้น (ตรงข้ามกับการใช้โซลูชันที่มีอยู่) จุดแข็งสัมพัทธ์ จุดอ่อนสัมพัทธ์ การอนุญาต เชื่อมโยงไปยังโครงการและตัวอย่าง

5
จะบอกหุ่นเชิดแบบไหนที่คุณใช้กับ Centos?
ฉันเริ่มต้นด้วยหุ่นกระบอกบน centos และสับสนเกี่ยวกับบางสิ่ง ก่อนปิดหน้าคนมีอยู่puppet-masterแต่ไม่ใช่สำหรับpuppetmasterแม้ว่า daemon ใน /etc/init.d คือpuppetmaster การรันคำสั่ง$ puppet-master --versionจะส่งคืน bash: puppet-master: ไม่พบคำสั่ง ฉันจะบอกได้ว่าฉันกำลังใช้งานเวอร์ชันใดสำหรับทั้งต้นแบบและไคลเอ็นต์?
17 centos  puppet 

3
การเพิ่มผู้ใช้ที่มีอยู่ให้กับกลุ่มที่มีหุ่นเชิด
เป็นไปได้ไหมที่จะเพิ่มผู้ใช้ที่มีอยู่ในกลุ่มที่มีหุ่นกระบอก 2.7.18 เรามีสองโมดูลแต่ละคนกำหนดหนึ่งคลาส: โมดูล "ผู้ใช้" สร้างผู้ใช้ทั้งหมดรวมถึงผู้ใช้ foo และแถบผู้ใช้ โมดูล "การโค่นล้ม" เกี่ยวข้องกับไฟล์ conf ต่างๆและสร้างกลุ่ม svn เราต้องการเพิ่มผู้ใช้ foo ให้กับกลุ่ม svn ภายในโมดูล "การโค่นล้ม" ฉันได้ลองพารามิเตอร์สมาชิกตามที่อธิบายไว้ในคำขอคุณลักษณะที่มีอยู่ : group { "svn": ensure => present, gid => xxxxx; } user { "foo": group => ["svn"], membership => minimum; } แต่ฉันได้รับข้อผิดพลาดต่อไปนี้: ข้อผิดพลาด: ไม่สามารถดึงข้อมูลแคตตาล็อกจากรีโมตเซิร์ฟเวอร์: ข้อผิดพลาด 400 บนเซิร์ฟเวอร์: การประกาศซ้ำ: ผู้ใช้ …

5
จะเพิ่มชื่อ dns หลายชื่อใน puppetmaster ของฉันได้อย่างไร
puppet ของฉันของฉันบนต้นแบบ [master] certname = myname.mydomain.com ca_server = myname.mydomain.com certdnsnames = puppet;puppet.local;myname.dyndns.org;hivemind.local; สำหรับความเข้าใจของฉันกับ certdnsnames ที่กำหนดดังต่อไปนี้ควรใช้งานได้: puppet agent --server myname.dyndns.org --test แต่ฉันได้รับข้อผิดพลาดต่อไปนี้: err: Could not retrieve catalog from remote server: hostname was not match with the server certificate จะหลีกเลี่ยงข้อผิดพลาดนี้ได้อย่างไร? วิธีการกำหนดชื่อรับรองอย่างถูกต้อง? ฉันได้พบเอกสารที่แตกต่างเกี่ยวกับเรื่องนี้ แต่ไม่มีตัวอย่างง่าย ๆ ii ใช้ "," สำหรับการแยกฉันไม่สามารถลงชื่อได้เลย ฉันยังได้เห็นไวยากรณ์เช่น certdnsnames = puppet:puppet.intra.myserver.fr,puppet.myserver.fr:puppet,puppet:puppet,puppet.intra.myserver.fr,puppet.myserver.fr …

2
กำลังเพิ่มบรรทัดไปยัง / etc / profile ด้วย puppet หรือไม่
ฉันใช้หุ่นเชิดเพื่อติดตั้ง JDK และ tomcat ปัจจุบัน package { [ "openjdk-6-jdk", "openjdk-6-doc", "openjdk-6-jre", "tomcat6", "tomcat6-admin", "tomcat6-common", "tomcat6-docs", "tomcat6-user" ]: ensure => present, } ตอนนี้ฉันต้องการเพิ่ม JAVA_HOME="/usr/lib/java" export JAVA_HOME เพื่อ/etc/profileเพียงเอาสิ่งนี้ออกไปให้พ้น ฉันยังไม่พบคำตอบที่ตรงไปตรงมาในเอกสารเลย มีวิธีแนะนำให้ทำเช่นนี้หรือไม่? โดยทั่วไปฉันจะบอกหุ่นเชิดให้วางไฟล์นี้ไว้ที่นั่นหรือแก้ไขไฟล์นั้นได้อย่างไร ฉันใช้หุ่นโหนดเดียว (ในโหมดสแตนด์อโลน) เพียงเพื่อพยายามที่จะออกและเพื่อให้เข้าสู่ระบบของการติดตั้งเซิร์ฟเวอร์
16 linux  bash  java  puppet 

7
คำถามที่ถูกต้องที่จะถามเมื่อตัดสินใจว่าจะใช้ Chef หรือ Puppet คืออะไร
ฉันกำลังจะเริ่มโครงการใหม่ซึ่งในบางส่วนจะต้องการการปรับใช้โหนดที่เหมือนกันจำนวนมากของคลาสที่แตกต่างกันประมาณสามคลาส: โหนดข้อมูลซึ่งจะเรียกใช้อินสแตนซ์ที่ถูกทำลายของ MongoDB แอ็พพลิเคชันโหนดซึ่งจะรันอินสแตนซ์ของแอปพลิเคชัน Ruby on Rails และแอปพลิเคชัน ASP.NET MVC รุ่นเก่า กำลังประมวลผลโหนดซึ่งจะรันงานที่ร้องขอโดยโหนดแอปพลิเคชัน โหนดทั้งหมดจะทำงานบนอินสแตนซ์ของ Ubuntu 10.04 แม้ว่าจะติดตั้งแพ็คเกจที่แตกต่างกัน ฉันมีความคุ้นเคยกับเชฟจากโปรเจ็กต์ก่อนหน้านี้ แต่ฉันไม่คิดว่าตัวเองเป็นผู้เชี่ยวชาญ ในความพยายามที่จะทำเนื่องจากความขยันฉันได้รับการตรวจสอบความเป็นไปได้ทางเลือก เรามีคนในบ้านจำนวนมากที่เป็นผู้ใช้หุ่นกระบอกมาเป็นเวลานานและพวกเขาสนับสนุนให้ฉันดู ฉันมีปัญหาในการประเมินทั้งสองทางเลือก พ่อครัวและหุ่นกระบอกจำนวนมากส่วนแบ่งของคำศัพท์โดเมนเดียวกัน - แพคเกจ , ทรัพยากร , คุณลักษณะและอื่น ๆ และพวกเขามีประวัติศาสตร์ร่วมกันที่เกิดจากการใช้วิธีการที่แตกต่างกันในการแก้ไขปัญหาเดียวกัน ดังนั้นในบางแง่มุมพวกเขาจึงคล้ายกันมาก แต่ข้อมูลการเปรียบเทียบส่วนใหญ่ที่ฉันพบเช่นบทความนี้ค่อนข้างล้าสมัยเล็กน้อย หากคุณเริ่มโครงการนี้วันนี้คำถามอะไรที่คุณถามตัวเองเพื่อตัดสินใจว่าคุณควรใช้ Chef หรือ Puppet สำหรับการจัดการการกำหนดค่า (หมายเหตุ: ฉันไม่ต้องการคำตอบสำหรับคำถาม "ฉันควรใช้เชฟหรือหุ่นเชิด")


3
หุ่นกระบอกและบริการ launchd?
เรามีสภาพแวดล้อมการผลิตที่กำหนดค่าด้วย Puppet และต้องการที่จะสามารถตั้งค่าสภาพแวดล้อมที่คล้ายกันในเครื่องพัฒนาของเรา: การผสมผสานระหว่าง Red Hats, Ubuntus และ OSX อย่างที่คาดไว้ OSX เป็นคนแปลก ๆ ที่นี่และน่าเศร้าที่ฉันมีปัญหามากมายกับการทำให้เรื่องนี้ทำงานได้ ความพยายามครั้งแรกของฉันคือการใช้macportsโดยใช้การประกาศต่อไปนี้: package { 'rabbitmq-server': ensure => installed, provider => macports, } แต่สิ่งนี้น่าเศร้าที่สร้างข้อผิดพลาดต่อไปนี้: Error: /Stage[main]/Rabbitmq/Package[rabbitmq-server]: Could not evaluate: Execution of '/opt/local/bin/port -q installed rabbitmq-server' returned 1: usage: cut -b list [-n] [file ...] cut -c list [file …
15 mac-osx  puppet 

3
NFS พร้อมโฮมไดเร็กทอรีของ ubuntu ที่เข้ารหัส
ฉันมีปัญหาในการติดตั้ง NFS กับคนจรจัด: บนเครื่องของฉันฉันได้ติดตั้ง NFS: apt-get install nfs-common nfs-kernel-server และใน Vagrantfile ของฉันตั้งค่าให้ใช้: config.vm.share_folder("v-root", "/vagrant", ".", :nfs => true) เมื่อvagrant upฉันได้รับ: exportfs: /home/<user>/path/to/dir does not support NFS export Mounting NFS shared folders failed. This is most often caused by the NFS client software not being installed on the guest machine. Please …

1
Puppet: ตรวจสอบว่าไฟล์ว่างเปล่า
ฉันต้องการแน่ใจว่าไฟล์ motd นั้นว่างเปล่า ฉันชอบที่จะทำเช่นนี้: file { "/etc/motd": ensure => empty } เห็นได้ชัดว่าไม่ได้ผล มีวิธีง่ายๆในการตรวจสอบว่าไฟล์ว่างเปล่าแทนที่จะใช้การประกาศ "source" และเก็บไฟล์เปล่าในที่เก็บไฟล์หรือไม่?
15 puppet 


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.