Score:-1

จะทำการติดตั้งเซิร์ฟเวอร์โดยอัตโนมัติด้วย virtualization/LAMP (IaC ขนาดเล็ก) ได้อย่างไร

ธง eg

จะทำให้การติดตั้งเซิร์ฟเวอร์เป็นไปโดยอัตโนมัติได้อย่างไร? โครงสร้างพื้นฐาน/ระบบใดที่เหมาะกับความต้องการของเรา

เรามีเซิร์ฟเวอร์ฟิสิคัลมากกว่า 10 เครื่องพร้อม VM มากกว่า 100 เครื่อง ส่วนใหญ่เป็น LAMP ไม่มากแต่ก็ไม่ได้อะไรที่จะทำงานต่อไปได้เอง เซิร์ฟเวอร์ทั้งหมดมี KVM virtualization เราโฮสต์แอปพลิเคชันแบบกำหนดเองที่หลากหลายสำหรับลูกค้าของเราซึ่งเราแก้ไขบ่อยครั้ง ดังนั้นนี่ไม่ใช่แอปพลิเคชันเดียวที่ต้องปรับขนาด ทีมโครงการทำงานโดยตรงกับลูกค้าและกับ VM และนี่คือข้อกำหนด

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

ฉันต้องการสร้างขั้นตอนการติดตั้งใหม่อย่างน้อยทุกๆ 3 เดือนและตามความต้องการ การติดตั้งใหม่ควรเริ่มต้นด้วยที่เก็บรหัสและการสำรองข้อมูล สิ่งนี้ไม่ควรเป็นการทำซ้ำ VM

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

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

โหนดของเราส่วนใหญ่เป็น LAMP โดยมีสองระบบที่มีข้อมูล DB ที่มีโครงสร้างมากกว่า 1TB หลายตัวมากกว่า 200GB และ VM แบบกำหนดเองขนาดเล็กประมาณ 50 ตัว เราสามารถกำหนดเวลาหยุดทำงานตามแผนของแต่ละระบบได้อย่างง่ายดาย ดังนั้นจึงไม่เป็นปัญหาเกี่ยวกับความพร้อมใช้งานสูงระหว่างการติดตั้งใหม่

เราเพียงแค่ต้องทำการติดตั้งใหม่โดยอัตโนมัติให้มากที่สุด

eg flag
บุคคลที่ลงคะแนนเสียงสามารถแสดงความคิดเห็นเกี่ยวกับเหตุผลได้หรือไม่? มันไม่สุภาพ...
Score:3
ธง us

คุณต้องมีเฟรมเวิร์กการจัดการการกำหนดค่า เช่น Ansible, Saltstack, Puppet หรือ Chef

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

คุณต้องออกแบบและปรับใช้กระบวนการ ซึ่งการเปลี่ยนแปลงโครงสร้างพื้นฐานทั้งหมดได้รับการจัดการผ่านเครื่องมือนี้

สิ่งนี้ต้องการ:

  • ฝึกอบรมคนให้ใช้เครื่องมือ
  • การเปลี่ยนแปลงสถาปัตยกรรมระบบเพื่อให้ไม่สามารถทำการเปลี่ยนแปลงได้หากไม่มีเครื่องมือ
  • รับมือกับการต่อต้านการเปลี่ยนแปลงโหมดการทำงานพื้นฐานของคน

นอกจากนี้ คุณควรพิจารณาการรวมโครงสร้างพื้นฐานสแต็กซอฟต์แวร์เข้าด้วยกัน

หาก VM แต่ละเครื่องมีการกำหนดค่าซอฟต์แวร์ที่แตกต่างกันเล็กน้อย คุณก็จะมี

  • รหัสที่ซ้ำกันจำนวนมากในรหัสการจัดการการกำหนดค่าของคุณสำหรับการติดตั้งที่แตกต่างกัน
  • ตรรกะที่ซับซ้อนในการเลือกวิธีการใช้การกำหนดค่าใด

ปัจจัยทั้งสองนี้เพิ่มค่าใช้จ่ายในการบำรุงรักษาจำนวนมาก และผลลัพธ์สุดท้ายอาจเจ็บปวดพอๆ กับสถานการณ์ปัจจุบันของคุณ

eg flag
ขอบคุณสำหรับคำตอบ กรอบใดที่คุณแนะนำให้ดูเป็นอันดับแรกในสถานการณ์นี้ รองรับการติดตั้งโฮสต์เวอร์ชวลไลเซชันหรือไม่
us flag
ฉันมีประสบการณ์กับ Ansible เท่านั้น อย่างน้อย Ansible ก็สามารถขยายได้และมีชุมชนที่ใช้งานอยู่ซึ่งมีปลั๊กอินหลายประเภทสำหรับวัตถุประสงค์หลายประการ อย่างไรก็ตาม คุณควรทำการวิเคราะห์/เปรียบเทียบผลิตภัณฑ์ของคุณเอง เนื่องจากเป็นไปไม่ได้ที่จะถามคำถามที่มีรายละเอียดมากพอที่จะคำนึงถึงทุกรายละเอียดของสภาพแวดล้อมของคุณ
eg flag
ฉันได้ดู ansible wiki อย่างรวดเร็วและดูเหมือนว่าจะมุ่งเน้นไปที่การจัดการเซิร์ฟเวอร์ ไม่ใช่การติดตั้งใหม่ จากประสบการณ์ของคุณ มันจะเหมาะสมกับงานการตั้งค่า VM ตั้งแต่เริ่มต้นได้ดีเพียงใด เป้าหมายของฉันคือการแทนที่การเปลี่ยนแปลงอย่างต่อเนื่องกับ VM ด้วยการติดตั้งใหม่ทั้งหมดจากการควบคุมแหล่งที่มา
us flag
ฉันใช้ Ansible ด้วยตัวเองเพื่อติดตั้งเซิร์ฟเวอร์ VPS ตั้งแต่เริ่มต้นด้วยชุดซอฟต์แวร์และการกำหนดค่าที่ฉันต้องการ นอกจากนี้ยังมีปลั๊กอินสำหรับการจัดเตรียมเซิร์ฟเวอร์ VPS ใน AWS เป็นต้น ฉันค่อนข้างมั่นใจว่าสามารถครอบคลุมกรณีการใช้งานของคุณได้เป็นอย่างดี อย่างไรก็ตาม ทั้งหมดขึ้นอยู่กับกรณีการใช้งานและรายละเอียดที่แน่นอน คุณต้องลองด้วยตัวเอง
eg flag
เทโร ขอบคุณสำหรับความช่วยเหลือของคุณ ฉันจะลอง Ansible
Score:0
ธง mx

คลาวด์ของคุณมีรหัส API หรือไม่

ก้อนเมฆส่วนใหญ่มีภาพ LAMP ในคลิกเดียว เช่น

Vultr: https://www.vultr.com/apps/lamp/

มหาสมุทรดิจิตอล: https://marketplace.digitalocean.com/apps/lamp

ลิโนด: https://www.linode.com/docs/guides/lamp-stack-marketplace-app/

ถ้าไม่ เป้าหมายที่แท้จริงของฉันคือ VestaCP https://vestacp.com/install/

และ https://hestiacp.com/

ทั้งคู่เพิ่ม apache backend, nginx front-end, MySQL/mariadb/postgres และ php/php-fpm ตัวเลือกทั้งหมดด้วย

สำหรับการอัปเดต ฉันจะสร้างเซิร์ฟเวอร์แยกต่างหาก วางรหัสสาธารณะ SSH ทั่วไป /root/.ssh/authorized_keys ที่เซิร์ฟเวอร์แยกมี ซึ่งสามารถเข้าสู่ระบบแต่ละเซิร์ฟเวอร์ได้โดยอัตโนมัติ เช่น:

อินสแตนซ์=(
10.0.0.5
10.0.0.6
10.0.0.7
...
)


สำหรับอินสแตนซ์ใน "${INSTANCES[@]}"; ทำ
    ssh root@${INSTANCE} /bin/bash -c "apt update -y && apt upgrade -y"
เสร็จแล้ว

นี่คือ Terraform, Kubernetes ฯลฯ DIY

นอกจากนี้ บน GitHub ยังมีคู่มือเฉพาะสำหรับระบบคลาวด์มากมาย เช่น:

อีกหนึ่งมหาสมุทรดิจิทัล: https://github.com/ethanbeyer/DigitalOcean-Droplet-Setup

AWS หนึ่ง: https://github.com/elionaz/aws-LAMP/blob/master/install_lamp.sh

eg flag
ฉันต้องการที่จะสามารถทำการติดตั้งโลหะเปลือย VM แต่ละเครื่องมีการกำหนดค่าของตัวเอง ซึ่งจะแตกต่างกันไปตามขนาดฐานข้อมูล เป็นต้น บางระบบต้องการมากกว่าหนึ่งเครื่องเต็มรูปแบบ ฉันต้องการติดตั้ง clean Debian หรือ distro อื่นๆ ที่ทีมเลือกไว้ และนำข้อมูลเฉพาะ vm ทั้งหมดไปไว้ในที่เก็บโค้ดของเรา

โพสต์คำตอบ

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