วางสถาปัตยกรรมโครงการ: Roles และ Inventory
วางโครงสร้างคลังการนำระบบออกใช้ทั้งหมด
วางสถาปัตยกรรมโครงการ: Roles และ Inventory เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
เป้าหมายของโครงงานสรุป
ได้เวลานำแอปหลายชั้นจริงไปใช้งานด้วยการนำไปใช้งานแบบทยอยปรับใช้และไม่ให้เกิดช่วงหยุดให้บริการ ขั้นตอนแรกคือออกแบบโครงสร้างโครงการ 🚀
คิดเป็นบทบาท
แบ่งระบบออกเป็นบทบาทต่าง ๆ โดยหนึ่งบทบาทต่อหนึ่งหน้าที่ เช่น common, web, app, db และ loadbalancer แต่ละบทบาทนำกลับมาใช้ใหม่และทดสอบแยกกันได้
โครงสร้างระดับบนสุด
ที่เก็บโค้ดที่เป็นระเบียบจะเก็บ inventory, group_vars, roles และเพลย์บุ๊กเริ่มต้น site.yml ไว้ที่ราก เพื่อให้ทุกคนค้นหาสิ่งต่าง ๆ ได้อย่างรวดเร็ว
deploy/
site.yml
inventory/
group_vars/
host_vars/
roles/site.yml เชื่อมทุกอย่างเข้าด้วยกัน
เพลย์บุ๊กหลักของคุณ site.yml จะนำเข้าเพลย์ของแต่ละชั้นตามลำดับ นี่คือคำสั่งเดียวที่นำสแตกทั้งหมดไปใช้งาน
- import_playbook: plays/loadbalancer.yml
- import_playbook: plays/db.yml
- import_playbook: plays/app.yml
- import_playbook: plays/web.ymlจับคู่ชั้นกับกลุ่ม
inventory ของคุณกำหนดหนึ่งกลุ่มต่อหนึ่งชั้น ได้แก่ lb, db, app และ web แต่ละเพลย์จะกำหนดเป้าหมายตรงกับโฮสต์ที่ตนเองรับผิดชอบ
[lb]
lb1
[web]
web1
web2
[app]
app1
app2
[db]
db1group_vars ต่อชั้น
เก็บการตั้งค่าของชั้นต่าง ๆ ไว้ใน group_vars เช่น พอร์ตเว็บ รุ่นแอป และข้อมูลรับรองฐานข้อมูล โฮสต์จะสืบทอดค่าเหล่านี้โดยอัตโนมัติ ไม่ต้องคัดลอกและวาง
group_vars/web.yml:
nginx_port: 80
upstream: app:8080host_vars สำหรับกรณีพิเศษ
เมื่อโฮสต์หนึ่งแตกต่างจากโฮสต์อื่น ให้ใส่ค่าที่เขียนทับไว้ใน host_vars ตัวอย่างเช่น ฐานข้อมูลหลักอาจมีการตั้งค่าการจำลองแบบที่โฮสต์อื่นไม่มี
host_vars/db1.yml:
postgresql_role: primaryกำหนดรุ่นแอปให้แน่นอน
กำหนดรุ่นเผยแพร่เป็นตัวแปร ไม่ใช่สตริงที่เขียนตายตัว จุดเปลี่ยนเพียงจุดเดียวช่วยให้คุณเลื่อนไปข้างหน้าหรือย้อนกลับได้ภายในไม่กี่วินาที
group_vars/all.yml:
app_version: "2.4.1"แยกสภาพแวดล้อม
เก็บโฟลเดอร์ inventory แยกตามสภาพแวดล้อม เพื่อไม่ให้ staging และ production ใช้โฮสต์ร่วมกัน บทบาทเหมือนเดิม แต่เป้าหมายต่างกัน
inventory/
staging/hosts
production/hostsล็อกชุดการพึ่งพา
แสดงรายการบทบาท Galaxy ภายนอกไว้ใน requirements.yml เพื่อให้สมาชิกทุกคนในทีมและการทำงานของระบบผสานรวมต่อเนื่องติดตั้งโค้ดการทำงานอัตโนมัติชุดเดียวกันทุกประการ
roles:
- name: geerlingguy.nginx
version: 3.1.4การวางสถาปัตยกรรมก่อนให้ผลคุ้มค่า
โครงสร้างที่วางแผนมาอย่างดีจะเปลี่ยนการนำไปใช้งานที่น่ากังวลให้กลายเป็นคำสั่งที่คาดเดาได้ไม่กี่คำสั่ง การจัดโครงสร้างตอนนี้ช่วยลดการแก้ปัญหาเฉพาะหน้าในภายหลัง 🧱
ตรวจสอบความเข้าใจอย่างรวดเร็ว
มาวางส่วนหนึ่งของการกำหนดค่าให้ถูกตำแหน่งกัน
สรุปทบทวน
คุณออกแบบที่เก็บโค้ดแล้ว โดยมีบทบาทต่อชั้น กลุ่มใน inventory, group_vars และ host_vars รวมถึง site.yml ที่เรียกใช้การนำไปใช้งานทั้งหมด ✅
คำถามที่พบบ่อย
บทเรียน “วางสถาปัตยกรรมโครงการ: Roles และ Inventory” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “วางสถาปัตยกรรมโครงการ: Roles และ Inventory” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “วางสถาปัตยกรรมโครงการ: Roles และ Inventory”
วางโครงสร้างคลังการนำระบบออกใช้ทั้งหมด คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “วางสถาปัตยกรรมโครงการ: Roles และ Inventory” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม
ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- วางสถาปัตยกรรมโครงการ: Roles และ Inventory
- จัดเตรียม เสริมความปลอดภัย และเริ่มต้นโฮสต์
- การนำระบบออกใช้แบบทยอยหลัง Load Balancer
- การทดสอบเบื้องต้น การย้อนกลับ และการแจ้งเตือน