ข้อดีและข้อเสียของสถาปัตยกรรมหุ่นไฟฟ้าแบบกระจายอำนาจ


14

เรามีเซิร์ฟเวอร์ประมาณ 300 RHEL ที่กำลังเชื่อมต่อกับเซิร์ฟเวอร์ Puppetmaster อย่างไรก็ตามเราได้สังเกตเห็นปัญหาคอขวดของประสิทธิภาพและเป็นจุดที่ระบบล้มเหลว ฉันค่อนข้างใหม่สำหรับหุ่นเชิดโดยทั่วไปและฉันกำลังพิจารณาที่จะสร้างสถาปัตยกรรมหุ่นกระจายอำนาจแทนที่จะให้ลูกค้า Puppet เชื่อมต่อกับเซิร์ฟเวอร์ Puppetmaster นอกเหนือจากสิ่งที่ฉันสงสัยว่าจะเกิดขึ้นเช่นประสิทธิภาพที่เพิ่มขึ้นและการขาดการลงชื่อและการแลกเปลี่ยน SSL certs สำหรับเครื่องใหม่ข้อดีและข้อเสียอื่น ๆ ของการตั้งค่าสถาปัตยกรรมการกระจายอำนาจคืออะไร


3
มีเหตุผลทำไมมันต้องเป็นทางเดียวหรืออื่น ๆ ? คุณเคยพิจารณาตัวเลือกระหว่างกันบ้างไหม? เมื่อมีเซิร์ฟเวอร์จำนวนมากและมีข้อกังวลเกี่ยวกับความล้มเหลวเพียงจุดเดียวเหตุใดคุณจึงไม่ตั้งค่าปริญญาโทเพิ่มเติม การตั้งค่าเซิร์ฟเวอร์หุ่นเชิดที่โหลดหลายตัวจะกล่าวถึงในหนังสือ 'Pro Puppet' มีความยืดหยุ่นมากมันควรเป็นไปได้ที่จะตั้งค่าลำดับชั้นของเซิร์ฟเวอร์หุ่นเชิดถ้ามันเหมาะสม
Zoredache

@Zoredache ไม่มีเหตุผลอะไรที่จะต้องเป็นอย่างใดอย่างหนึ่งหรืออย่างอื่นฉันกำลังมองหาข้อมูลเพิ่มเติมเกี่ยวกับสถาปัตยกรรมแบบกระจายอำนาจโดยทั่วไปเพื่อช่วยในการตัดสินใจ ฉันได้พิจารณาผู้เชี่ยวชาญเพิ่มเติม แต่หลักของความคิดซึ่งฉันขอโทษที่ไม่กล่าวถึงคือลดจำนวนเซิร์ฟเวอร์เนื่องจากมีผลกระทบโดยตรงกับงบประมาณของเรา ฉันเห็นด้วยโหลดสมดุลเซิร์ฟเวอร์หุ่นเชิดมีเหตุผล แต่ถ้าฉันสามารถกำจัดเซิร์ฟเวอร์ทั้งหมดเข้าด้วยกันนั่นจะเป็นทางออกที่ดีที่สุด
JMeterX

คำตอบ:


7

ไปกระจายอำนาจ

แทนที่จะลงนามใบรับรองให้สร้างคีย์ ssh อย่ามอบกุญแจให้ผู้ที่ไม่ใช่ผู้ดูแลระบบ

คุณสามารถใช้ Git เป็นพาหนะของคุณแทนการโค่นล้มและจากนั้นคุณสามารถแยกแยะเครื่อง / บทบาทที่แตกต่างกันแล้วกำหนดรุ่นการเปลี่ยนแปลงของคุณรวมถึงการอนุญาต ... แต่คุณต้องรู้ DVCS spiel ได้

มันเร็วกว่าและยุ่งยากน้อยกว่าในการตั้งค่า เพิ่มการผูก hooks สำหรับการตรวจสอบสติ

ตอนนี้ถึงตอนนี้คุณได้แทนที่ puppetmaster ด้วยรูปแบบไคลเอนต์ - เซิร์ฟเวอร์ด้วย ssh และ git ซึ่งทั้งสองนี้มีขนาดที่ดีกว่า puppetmaster

ตอนนี้องค์กรของคุณอาจต้องการลำดับชั้น ไม่มีปัญหาเพียงแค่เก็บ repo git ที่มีสาขาที่แน่นอนอยู่ที่ไหนสักแห่งที่ปลอดภัย

โบนัส:

git blame

จะช่วยให้คุณเห็นว่าใครทำการเปลี่ยนแปลง

http://bitfieldconsulting.com/scaling-puppet-with-distributed-version-control

https://www.braintreepayments.com/braintrust/decentralize-your-devops-with-masterless-puppet-and-supply-drop ?


3

คุณใช้หุ่นเชิดกับผู้โดยสารหรือไม่? เก็บไว้ configs? คุณไม่ควรมีปัญหาเรื่องความสามารถในการปรับขนาดได้เลยโดยมี 300 โหนดตราบใดที่คุณจัดการกับปัญหาการตั้งค่าพื้นฐาน


1
เรากำลังใช้การกำหนดค่า Apache + Passenger นอกจากนี้เรายังใช้การโค่นล้มเพื่อผลักดันการเปลี่ยนแปลงไปยัง Puppetmaster
JMeterX

1

การกระจายอำนาจเป็นวิธีที่ดีที่สุดในการทำให้ลูกค้าแต่ละคนรวบรวมรายการของตนเองจากสำเนาของแหล่งรายการ นี่คือการปรับปรุงทุกครั้งที่คุณผลักดันการปรับปรุงจากเซิร์ฟเวอร์พูด git การใช้แบนด์วิดท์ที่มีประสิทธิภาพมากขึ้นเนื่องจากลูกค้าไม่ต้องติดต่อกับ puppetmaster ทุกครั้ง ยังกำจัดจุดล้มเหลวเพียงจุดเดียวเนื่องจากไคลเอนต์สามารถอัปเดตได้จากทุกที่

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