Puppet คืออะไร? - การจัดการการกำหนดค่าโดยใช้หุ่น



Puppet คืออะไรเป็นบล็อกแรกของซีรี่ส์บล็อกหุ่น มันอธิบายถึงความจำเป็นในการจัดการหุ่นและการกำหนดค่าด้วยกรณีใช้งาน

ปัจจุบันเครื่องมือที่เป็นผู้ใหญ่ที่สุดสำหรับการจัดการการกำหนดค่าคือ Puppet แต่ฉันรู้ว่าคุณต้องสงสัยว่าทำไม Puppet ถึงได้รับความนิยมและอะไรที่ทำให้มันไม่เหมือนใครเมื่อเทียบกับเครื่องมือจัดการการกำหนดค่าอื่น ๆในบล็อก 'หุ่นคืออะไร' ฉันจะตอบคำถามเหล่านี้ให้คุณและช่วยให้คุณเดินไปตามเส้นทางของ .

หุ่นคืออะไร?

Puppet เป็นเครื่องมือ Configuration Management ที่ใช้สำหรับการปรับใช้การกำหนดค่าและการจัดการเซิร์ฟเวอร์ ทำหน้าที่ดังต่อไปนี้:





  • กำหนดการกำหนดค่าที่แตกต่างกันสำหรับแต่ละโฮสต์และตรวจสอบอย่างต่อเนื่องและยืนยันว่าการกำหนดค่าที่ต้องการอยู่ในตำแหน่งหรือไม่และไม่มีการเปลี่ยนแปลง (หากมีการเปลี่ยนแปลง Puppet จะเปลี่ยนกลับเป็นการกำหนดค่าที่ต้องการ) บนโฮสต์
  • การปรับขนาดและการลดขนาดแบบไดนามิกของเครื่อง
  • ให้การควบคุมเครื่องที่กำหนดค่าไว้ทั้งหมดของคุณดังนั้นการเปลี่ยนแปลงแบบรวมศูนย์ (เซิร์ฟเวอร์หลักหรือ repo-based) จะแพร่กระจายไปยังทุกเครื่องโดยอัตโนมัติ

Puppet ใช้สถาปัตยกรรม Master Slave ซึ่ง Master และ Slave สื่อสารผ่านช่องทางเข้ารหัสที่ปลอดภัยด้วยความช่วยเหลือของ SSL สถาปัตยกรรมหุ่นกระบอกมีคำอธิบายโดยละเอียดใน สอนหุ่นกระบอก บล็อก

ดูวิดีโอเรื่อง Puppet เพื่อความเข้าใจที่ดีขึ้น



Puppet คืออะไร? | การฝึก DevOps | Edureka

ตอนนี้คุณรู้แล้วว่า Puppet คืออะไรให้เราเข้าใจเหตุผลเบื้องหลังความนิยมของ Puppet

หุ่นคืออะไร - ตัวชี้วัดที่สำคัญ

ด้านล่างนี้เป็นข้อเท็จจริงบางประการเกี่ยวกับหุ่นกระบอก:



  • ฐานติดตั้งขนาดใหญ่: Puppet ถูกใช้โดย บริษัท มากกว่า 30,000 แห่งทั่วโลกรวมถึง Google, Red Hat, Siemens และอื่น ๆ พร้อมกับมหาวิทยาลัยหลายแห่งเช่น Stanford และ Harvard law school องค์กรใหม่โดยเฉลี่ย 22 องค์กรต่อวันใช้ Puppet เป็นครั้งแรก
  • ฐานนักพัฒนาขนาดใหญ่: หุ่นกระบอกถูกใช้กันอย่างแพร่หลายจนผู้คนจำนวนมากพัฒนาขึ้นมา Puppet มีผู้ร่วมให้ข้อมูลกับซอร์สโค้ดหลักมากมาย
  • ประวัติทางการค้าที่ยาวนาน: Puppet ถูกนำไปใช้ในเชิงพาณิชย์ตั้งแต่ปี 2548 และได้รับการปรับปรุงและปรับปรุงอย่างต่อเนื่อง มีการปรับใช้ในโครงสร้างพื้นฐานขนาดใหญ่มาก (5,000+ เครื่อง) และบทเรียนด้านประสิทธิภาพและความสามารถในการปรับขนาดที่ได้เรียนรู้จากโครงการเหล่านี้มีส่วนช่วยในการพัฒนา Puppet
  • เอกสารประกอบ: Puppet มีวิกิขนาดใหญ่ที่ผู้ใช้ดูแลพร้อมเอกสารหลายร้อยหน้าและการอ้างอิงที่ครอบคลุมสำหรับทั้งภาษาและประเภททรัพยากร นอกจากนี้ยังมีการพูดคุยกันอย่างกระตือรือร้นในรายชื่ออีเมลหลายรายการและมีช่อง IRC ที่เป็นที่นิยมมากดังนั้นไม่ว่าหุ่นของคุณจะมีปัญหาอะไรก็หาคำตอบได้ง่าย
  • การสนับสนุนแพลตฟอร์ม: Puppet Server สามารถทำงานบนแพลตฟอร์มใดก็ได้ที่รองรับ Ruby เช่น CentOS, Microsoft Windows Server, Oracle Enterprise Linux เป็นต้นไม่เพียง แต่รองรับระบบปฏิบัติการใหม่เท่านั้น แต่ยังสามารถทำงานบน OS และเวอร์ชัน Ruby ที่ค่อนข้างเก่าและล้าสมัย เช่นกัน.

ปัจจุบันเป็นที่ประจักษ์แล้วว่าหุ่นกระบอกมีความต้องการอย่างมากทั่วโลก แต่ก่อนที่จะดำน้ำลึกเข้าไปใน Puppet มีเพียงเรื่องเดียวที่ฉันจะอธิบายก่อนว่าการจัดการการกำหนดค่าคืออะไรและเหตุใดจึงสำคัญ

การจัดการการตั้งค่า

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

วิธีการคลาสสแกนเนอร์ใดอ่านสตริง

เพื่อแก้ปัญหานี้ การจัดการการตั้งค่า ได้รับการแนะนำ Configuration Management คือการจัดการกับการเปลี่ยนแปลงอย่างเป็นระบบเพื่อให้ระบบคงความสมบูรณ์ไว้ตลอดเวลา การจัดการการกำหนดค่า (CM) ช่วยให้มั่นใจได้ว่าการออกแบบและสถานะการสร้างปัจจุบันของระบบเป็นที่รู้จักดีและเชื่อถือได้และไม่ต้องพึ่งพาความรู้โดยปริยายของทีมพัฒนา ช่วยให้สามารถเข้าถึงบันทึกทางประวัติศาสตร์ที่ถูกต้องของสถานะระบบเพื่อวัตถุประสงค์ในการจัดการโครงการและการตรวจสอบ การจัดการการกำหนดค่าเอาชนะความท้าทายต่อไปนี้:

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

ให้เราเข้าใจถึงความสำคัญผ่านกรณีการใช้งาน

ตัวอย่างที่ดีที่สุดที่ฉันรู้จักคือ New York Stock Exchange (NYSE) ซอฟต์แวร์ 'ผิดพลาด' ทำให้ NYSE ไม่สามารถซื้อขายหุ้นได้เกือบ 90 นาที สิ่งนี้นำไปสู่การสูญเสียหลายล้านดอลลาร์ การติดตั้งซอฟต์แวร์ใหม่ทำให้เกิดปัญหา ซอฟต์แวร์ดังกล่าวได้รับการติดตั้งบนเทอร์มินัลการซื้อขาย 8 จาก 20 เทอร์มินัลและระบบได้รับการทดสอบเมื่อคืนก่อน อย่างไรก็ตามในตอนเช้ามันล้มเหลวในการทำงานอย่างถูกต้องใน 8 ขั้ว ดังนั้นจึงจำเป็นต้องเปลี่ยนกลับไปใช้ซอฟต์แวร์รุ่นเก่า คุณอาจคิดว่านี่เป็นความล้มเหลวของกระบวนการจัดการการกำหนดค่าของ NYSE แต่ในความเป็นจริงมันประสบความสำเร็จ อันเป็นผลมาจากกระบวนการจัดการการกำหนดค่าที่เหมาะสม NYSE ฟื้นตัวจากสถานการณ์นั้นใน 90 นาทีซึ่งค่อนข้างเร็ว หากปัญหาดำเนินต่อไปอีกต่อไปผลที่ตามมาจะรุนแรงมากขึ้น

Configuration Management ที่ NYSE - Puppet คืออะไร - Edureka

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

ความแตกต่างที่สำคัญระหว่างแฮ็กเกอร์และแฮ็กเกอร์ที่มีจริยธรรมคือ:

ต่อไปให้เราดูแอพพลิเคชั่นของ Puppet

หุ่นคืออะไร - การประยุกต์ใช้หุ่น

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

ตอนนี้เราจะดูว่าพวกเขาประสบปัญหาอะไรบ้างในกระบวนการนี้:

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

บริษัท ฉลาดพอที่จะตระหนักถึงความจำเป็นของกระบวนการอัตโนมัติได้อย่างรวดเร็วก่อนที่พวกเขาจะได้รับการปรับขนาดอย่างรวดเร็วนั่นคือตอนที่ Puppet เข้ามาในภาพ ให้เราเข้าใจว่า Puppet มีส่วนช่วยในองค์กรของพวกเขาอย่างไร

  • ความเร็วในการฟื้นตัว - ทีมปฏิบัติการการผลิตสามารถปรับใช้การกำหนดค่าที่เหมาะสมกับกล่องด้านขวาได้อย่างรวดเร็ว หากระบบได้รับการกำหนดค่าใหม่อย่างไม่เหมาะสม Puppet จะเปลี่ยนกลับเป็นแบบเสถียรล่าสุดโดยอัตโนมัติ สถานะ,หรือให้รายละเอียดที่จำเป็นในการแก้ไขระบบด้วยตนเองอย่างรวดเร็ว
  • ความเร็วในการปรับใช้ - Puppet ช่วยประหยัดเวลาได้อย่างมากในวิธีที่ทีมปฏิบัติการให้บริการสำหรับสตูดิโอเกม
  • ความสอดคล้องของเซิร์ฟเวอร์ - เฟรมเวิร์กที่ขับเคลื่อนด้วยโมเดลของ Puppet ทำให้มั่นใจได้ถึงการปรับใช้ที่สอดคล้องกัน ตาม Mark Stockford รองประธานฝ่ายปฏิบัติการผลิต , Zynga “ เห็นได้ชัดว่าเรามีประสบการณ์ในการประหยัดเวลา ความสวยงามของการใช้ Puppet คือช่วยให้เราสามารถส่งมอบการกำหนดค่าที่สอดคล้องกันบนเซิร์ฟเวอร์ของเราได้ทุกครั้ง”
  • การทำงานร่วมกัน - การมีแนวทางที่ขับเคลื่อนด้วยโมเดลทำให้ง่ายต่อการแชร์การกำหนดค่าระหว่างองค์กรทำให้นักพัฒนาและทีมปฏิบัติการทำงานร่วมกันเพื่อให้แน่ใจว่าการส่งมอบบริการใหม่มีคุณภาพสูงมาก กว่าสิบคนจากทีมของ Zynga ได้รับการฝึกฝนในเรื่อง Puppet.ความรู้นี้ได้รับการเผยแพร่ไปทั่วทั้งทีมและทีมปฏิบัติการภายในสตูดิโอเกมแต่ละแห่ง

After Puppet blog คืออะไร , คลิกที่นี่เพื่อเยี่ยมชมบล็อกถัดไปของฉันเกี่ยวกับการสอนหุ่นกระบอก ซึ่งจะรวมถึงสถาปัตยกรรมหุ่นกระบอกและส่วนประกอบของหุ่นกระบอก ฉันจะอธิบายขั้นตอนในการปรับใช้ MySQL และ PHP โดยใช้ Puppet Puppet เป็นเครื่องมือที่ใช้กันอย่างแพร่หลายในการบรรลุ DevOps ในองค์กรที่มีโครงสร้างพื้นฐานขนาดใหญ่

หากคุณพบสิ่งนี้ บล็อกเกี่ยวกับ“ หุ่นคืออะไร ” เกี่ยวข้อง ตรวจสอบไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก หลักสูตรการฝึกอบรม Edureka DevOps Certification ช่วยให้ผู้เรียนมีความเชี่ยวชาญในกระบวนการและเครื่องมือ DevOps ต่างๆเช่น Puppet, Jenkins, Nagios และ GIT สำหรับการทำหลายขั้นตอนใน SDLC โดยอัตโนมัติ