Ansible Handlers: Trigger Actions เมื่อ Task มีการเปลี่ยนแปลง

Ansible Handlers: Trigger Actions เมื่อ Task มีการเปลี่ยนแปลง

Ansible Handlers คือ task พิเศษที่ถูก trigger โดย notify เมื่อ task อื่นมีการเปลี่ยนแปลง (changed) เท่านั้น — เหมาะสำหรับ action ที่ควรทำเฉพาะเมื่อจำเป็น เช่น restart service หลังแก้ไข config, reload Nginx หลังเพิ่ม virtual host หรือ clear cache หลัง deploy code บทความนี้ครอบคลุมการประกาศ handlers,

Ansible Error Handling: จัดการ Errors ด้วย block/rescue/always

Ansible Error Handling: จัดการ Errors ด้วย block/rescue/always

Error handling ใน Ansible ช่วยให้ Playbook รับมือกับความล้มเหลวได้อย่างชาญฉลาด แทนที่จะหยุดทันทีเมื่อ task ใดล้มเหลว สามารถกำหนดได้ว่าจะ retry, ข้ามไป, rollback, หรือส่ง notification ก่อนหยุด บทความนี้อธิบาย block/rescue/always pattern, การใช้ ignore_errors, failed_when, any_errors_fatal, และ max_fa

Ansible Tags: รันเฉพาะ Tasks ที่ต้องการด้วย Tags

Ansible Tags: รันเฉพาะ Tasks ที่ต้องการด้วย Tags

Tags ใน Ansible ช่วยให้รันเฉพาะ tasks ที่ต้องการโดยไม่ต้องรัน Playbook ทั้งหมด เช่น รันเฉพาะ task ที่เกี่ยวกับ config โดยข้าม task install, หรือข้าม task ที่ใช้เวลานานเมื่อทดสอบ บทความนี้อธิบายวิธีกำหนด tag, การใช้ --tags และ --skip-tags, special tags ที่มีใน Ansible, และ pattern การใช้ tags ที่เหมา

Ansible Roles: จัดระเบียบ Playbook ด้วยโครงสร้าง Role

Ansible Roles: จัดระเบียบ Playbook ด้วยโครงสร้าง Role

Roles คือวิธีจัดระเบียบ Playbook ขนาดใหญ่ให้เป็นหน่วยย่อยที่นำกลับมาใช้ใหม่ได้ แทนที่จะเขียน tasks ทั้งหมดในไฟล์เดียว Role แยกงานออกเป็นโครงสร้างไดเรกทอรีมาตรฐานที่ประกอบด้วย tasks, handlers, templates, files, vars และ defaults บทความนี้อธิบายโครงสร้าง Role, วิธีสร้างและใช้งาน, การส่ง variables เข้า

Ansible Lookups: ดึงข้อมูลจากไฟล์ Database หรือ API

Ansible Lookups: ดึงข้อมูลจากไฟล์ Database หรือ API

Lookup Plugins คือกลไกที่ใช้ดึงข้อมูลจากแหล่งภายนอก Playbook ณ เวลาที่รัน ไม่ว่าจะเป็นไฟล์ในระบบ, environment variables, password ที่สร้างแบบ dynamic หรือผลลัพธ์จาก command แล้วนำมาใช้เป็น variable โดยตรง บทความนี้อธิบาย lookup plugins ที่ใช้บ่อยที่สุดในทางปฏิบัติ ตั้งแต่ file, env, password, templa

Ansible Registered Variables: เก็บ Output จาก Task เพื่อใช้ต่อไป

Ansible Registered Variables: เก็บ Output จาก Task เพื่อใช้ต่อไป

Registered Variables คือวิธีเก็บ output จาก task หนึ่งแล้วนำไปใช้ใน task ถัดไป เป็นฟีเจอร์ที่ทำให้ Playbook สามารถตัดสินใจตาม output จริงได้ เช่น ตรวจสอบว่า command สำเร็จหรือไม่, อ่านค่า IP จาก command แล้วนำไปตั้งค่า firewall, หรือตรวจสอบว่าไฟล์มีอยู่แล้วหรือยังก่อน deploy บทความนี้อธิบายวิธีใช้ r

Ansible Playbook สำหรับ User Management: สร้าง User, Set Permissions

Ansible Playbook สำหรับ User Management: สร้าง User, Set Permissions

การจัดการ User บนเซิร์ฟเวอร์หลายเครื่องพร้อมกันเป็นงานที่ใช้เวลามากหากทำด้วยตนเอง ไม่ว่าจะเป็นการสร้าง account สำหรับ developer ใหม่, กำหนด sudo permissions, ตั้งค่า SSH key หรือลบ account ที่ไม่ใช้แล้ว การทำผิดพลาดเพียงครั้งเดียวอาจเปิดช่องโหว่ด้าน security ได้ บทความนี้จะแสดงวิธีเขียน Playbook สำห

Ansible Playbook สำหรับ System Updates และ Package Management

Ansible Playbook สำหรับ System Updates และ Package Management

การอัปเดตระบบปฏิบัติการและจัดการ Package เป็นงานที่ Sysadmin ต้องทำเป็นประจำ โดยเฉพาะเมื่อมีเซิร์ฟเวอร์หลายสิบหรือหลายร้อยเครื่อง การทำด้วยมือทีละเครื่องนั้นเสียเวลาและเสี่ยงต่อความผิดพลาด เช่น ลืม server บางเครื่อง หรือใช้คำสั่งไม่ถูกต้อง บทความนี้จะอธิบายวิธีสร้าง Playbook สำหรับงาน System Updates

เขียน Ansible Playbook ติดตั้ง Database (MySQL/PostgreSQL) บน VPS

เขียน Ansible Playbook ติดตั้ง Database (MySQL/PostgreSQL) บน VPS

Database เป็น component ที่ต้องการความระมัดระวังในการติดตั้งและตั้งค่ามากกว่า web server เพราะเกี่ยวข้องกับข้อมูลโดยตรง การใช้ Ansible จัดการ database server ช่วยให้ทุกขั้นตอนตั้งแต่ติดตั้ง package, สร้าง database, กำหนดสิทธิ์ user, ไปจนถึง hardening ถูก document ไว้ในรูป playbook ที่ตรวจสอบและทำซ้ำ

เขียน Ansible Playbook ติดตั้ง Web Server (Nginx) บน Cloud VPS

เขียน Ansible Playbook ติดตั้ง Web Server (Nginx) บน Cloud VPS

การติดตั้ง web server ด้วย Ansible แทนการ SSH เข้า server แล้วพิมพ์คำสั่งทีละบรรทัดช่วยให้ deploy ได้เร็วกว่า ลดความผิดพลาด และทำซ้ำได้บน server ทุกเครื่องโดยไม่ต้องกังวลว่าจะลืมขั้นตอนใด playbook ที่ดีสำหรับ web server ไม่ใช่แค่ติดตั้ง package แต่ต้องจัดการ config, virtual host, SSL certificate, แล

LINE CHAT