เครื่องมือการจัดการการกำหนดค่ามีบทบาทอย่างไรในโครงสร้างพื้นฐานที่ไม่เปลี่ยนแปลง


12

หากฉันใช้ไม่เปลี่ยนรูปเซิร์ฟเวอร์ / ภาชนะบรรจุที่ฉันจะต้องเครื่องมือเช่นเชฟหุ่นกระบอกเบิ้ลหรือเกลือ? เครื่องมือจัดการการกำหนดค่าเหล่านั้นได้รับการออกแบบมาเพื่อสร้างการกำหนดค่าจากนั้นดูแลรักษา

หากฉันปรับใช้เซิร์ฟเวอร์ที่ไม่เปลี่ยนรูปแบบฉันควรใช้เครื่องมือการจัดการการกำหนดค่าสำหรับการจัดเตรียมเริ่มต้นเท่านั้นหรือไม่

คำตอบ:


12

มีคำตอบไม่กี่ข้อสำหรับเรื่องนี้:

  1. บางสิ่งจำเป็นต้องสร้างภาพที่ไม่เปลี่ยนรูปเหล่านั้น แน่นอนว่ามันง่ายกว่าที่จะใช้การเขียนสคริปต์ขั้นตอนแบบโรงเรียนเก่าเพื่อสร้างบางสิ่งเมื่อเริ่มต้นจากสถานะเริ่มต้นที่เป็นที่รู้จัก สิ่งต่าง ๆ เช่นซอฟต์แวร์รุ่นต่าง ๆ สภาพแวดล้อมที่แตกต่างกัน ฯลฯ แพคเกอร์และเครื่องมือสร้างรูปภาพอื่น ๆ ผสานรวมกับ Chef, Ansible, Puppet, Salt และอีกมากมาย

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

  3. การจัดการแบบไร้วัน Immutability ดี แต่คุณจะทำอย่างไรเมื่อ OpenSSL 0 วันถัดไปลดลง หากคุณมีขั้นตอนการสร้างของคุณในตำแหน่งที่จะสร้างอิมเมจโปรแกรมแก้ไขด่วนทันทีและนำไปใช้งานได้แสดงว่ายอดเยี่ยม แต่หลายคนอาจจะไม่มีความสามารถแบบเลี้ยวเร็วแบบนั้น

  4. สิ่งที่ไม่สามารถเปลี่ยนแปลงไม่ได้ คำตอบที่ยกเลิก แต่อินฟาทั้งหมดไม่เปลี่ยนไม่ได้ 100% สิ่งต่าง ๆ เช่นเซิร์ฟเวอร์ฐานข้อมูลและเวิร์คสเตชั่นสำหรับนักพัฒนา (ใช่มันเป็นส่วนหนึ่งของ infra ของคุณ) อยู่ระหว่างยากและเป็นไปไม่ได้ที่จะทำให้ไม่เปลี่ยนรูป


คุณกำลังทำข้อสมมติฐานมากมายเกี่ยวกับ "คนจำนวนมาก" ผู้ที่ไม่สามารถสร้างภาพสำหรับโครงสร้างพื้นฐานที่ไม่เปลี่ยนแปลงซึ่งส่วนใหญ่อาจไม่มีโครงสร้างพื้นฐานที่ไม่เปลี่ยนรูปได้
Evgeny

มีช่องว่างขนาดใหญ่ระหว่าง "สามารถปรับใช้โดยใช้คอนเทนเนอร์ที่ไม่เปลี่ยนรูป" และ "สามารถสร้างและปรับใช้คอนเทนเนอร์อีกครั้งภายใน 6 ชั่วโมงแม้จะมีการปรับใช้อื่น ๆ อยู่ระหว่างดำเนินการ"
coderanger

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

หลายคนที่พูดว่า "เราเรียกใช้คอนเทนเนอร์ที่ไม่เปลี่ยนรูป" ไม่ได้อยู่ในหมวดหมู่นั้น ดังนั้นชี้ให้เห็นว่ามันเป็นปัญหาที่อยู่ซึ่งเป็นจุดรวมของคำถาม
coderanger

คุณสามารถกำหนด "ไม่เปลี่ยนรูป" เพื่อหมายถึง "ไม่มีใครใน SSH และทำการเปลี่ยนแปลงด้วยตนเอง" เพราะมันไม่สามารถแปลความหมายได้อย่างสมบูรณ์เพราะพวกเขาเปลี่ยนตัวเองในระหว่างการดำเนินงานปกติ แม้แต่การเขียน pidfile ก็คือการกลายพันธุ์
ออกุสตุส

0

สภาพแวดล้อมที่ไม่เปลี่ยนแปลงอย่างแน่นอนเป็นความคิดที่ไม่ดีฉันคิดว่า

เครื่องมือของ CM เช่น Ansible, Chef, Puppet มีประโยชน์ในหลาย ๆ กรณีรวมถึงของคุณด้วย

ฉันใช้ ansible สำหรับการจัดเตรียมเริ่มต้นของอินสแตนซ์ VM ใน GCP

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