0Pricing
DevOps Bootcamp · บทเรียน

วางสถาปัตยกรรมโครงการ: 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]
db1

group_vars ต่อชั้น

เก็บการตั้งค่าของชั้นต่าง ๆ ไว้ใน group_vars เช่น พอร์ตเว็บ รุ่นแอป และข้อมูลรับรองฐานข้อมูล โฮสต์จะสืบทอดค่าเหล่านี้โดยอัตโนมัติ ไม่ต้องคัดลอกและวาง

group_vars/web.yml:
  nginx_port: 80
  upstream: app:8080

host_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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. วางสถาปัตยกรรมโครงการ: Roles และ Inventory
  2. จัดเตรียม เสริมความปลอดภัย และเริ่มต้นโฮสต์
  3. การนำระบบออกใช้แบบทยอยหลัง Load Balancer
  4. การทดสอบเบื้องต้น การย้อนกลับ และการแจ้งเตือน
← กลับไปที่ DevOps Bootcamp