Section 6: ตัวแปร Fact และ Template
ลำดับความสำคัญของตัวแปรและการกำหนดตัวแปรในระดับต่าง ๆ
การใช้ Fact ที่ Ansible เก็บจากเครื่องเป้าหมายมาใช้ตัดสินใจ
การสร้างไฟล์ตั้งค่าด้วย Template และ Jinja2 ให้แต่ละเครื่องได้ค่าที่เหมาะกับตัวเอง
Lab: สร้างไฟล์ตั้งค่าจาก Template ที่ปรับตามข้อมูลของแต่ละเครื่อง
Section 7: Role และการจัดระเบียบโค้ด
โครงสร้าง Role มาตรฐาน: tasks, handlers, templates, files, vars และ defaults
การแปลง Playbook ยาว ๆ ให้เป็น Role ที่นำกลับมาใช้ซ้ำได้
การนำ Role จาก Ansible Galaxy มาใช้และการประเมินความน่าเชื่อถือก่อนใช้
Lab: แปลง Playbook ของตนเองให้เป็น Role และเรียกใช้ซ้ำ
Section 8: การจัดการหลายสภาพแวดล้อม
การแยก Inventory และตัวแปรระหว่าง Dev, Staging และ Production
การใช้ group_vars และ host_vars จัดการค่าที่ต่างกันในแต่ละสภาพแวดล้อม
การทยอยปรับเครื่องทีละชุด (Rolling Update) เพื่อไม่ให้บริการหยุดพร้อมกัน
Lab: รัน Playbook เดียวกันกับสองสภาพแวดล้อมที่มีค่าตั้งต้นต่างกัน
Section 9: ความปลอดภัยและ Ansible Vault
การเก็บรหัสผ่านและคีย์อย่างปลอดภัยด้วย Ansible Vault และการเข้ารหัสไฟล์ตัวแปร
การจัดการสิทธิ์ของบัญชีที่ใช้รัน Ansible ตามหลัก Least Privilege
แนวปฏิบัติเมื่อเก็บโค้ด Ansible ไว้ใน Git โดยไม่ให้ความลับรั่วไหล
Lab: เข้ารหัสไฟล์ความลับด้วย Vault และเรียกใช้ใน Playbook
Section 10: การนำไปใช้จริงและการดูแล
การเขียน Playbook ให้ Idempotent อย่างแท้จริงและการทดสอบก่อนใช้กับ Production
การจัดโครงสร้างโปรเจกต์ Ansible ให้ทีมทำงานร่วมกันได้
การรัน Ansible จาก CI/CD และการเก็บบันทึกผลการรัน
การใช้ Ansible ร่วมกับ Terraform: สร้างเครื่องแล้วตั้งค่าต่อทันที
Section 11: Capstone และการต่อยอด
โจทย์: เขียนชุด Playbook ตั้งค่าเซิร์ฟเวอร์ใหม่ทั้งชุดให้พร้อมให้บริการ
การนำเสนอโครงสร้าง Role และเหตุผลของการออกแบบ
แนวทางการนำ Ansible ไปใช้กับงานจริงในองค์กรใน 30 วันแรก
Workshop: นำเสนอ Playbook ที่เขียนและทบทวนโค้ดร่วมกัน