Ansible yum Module: Manage Packages บน CentOS/RHEL

Ansible yum Module: Manage Packages บน CentOS/RHEL

Ansible yum module ใช้จัดการ packages บนระบบ CentOS/RHEL/Fedora แทนการรัน yum หรือ dnf command โดยตรง มีโครงสร้างคล้ายกับ apt module แต่ปรับให้เหมาะกับ RPM-based distributions และ yum repositories บทความนี้อธิบายการใช้ yum module ตั้งแต่ติดตั้ง/ลบ package, อัพเดทระบบ, จัดการ yum repository, ไปจนถึงก

Ansible apt Module: Install Update Remove Packages บน Debian/Ubuntu

Ansible apt Module: Install Update Remove Packages บน Debian/Ubuntu

Ansible apt module ใช้จัดการ packages บนระบบ Debian/Ubuntu แทนการรัน apt-get หรือ apt command โดยตรง ทำให้ task มี idempotency — รันซ้ำกี่ครั้งก็ไม่เกิดผลข้างเคียง และ Ansible ตรวจสอบสถานะจริงก่อนติดตั้งหรือลบ บทความนี้อธิบายการใช้ apt module ตั้งแต่ติดตั้ง/ลบ package, อัพเดทระบบ, จัดการ repository,

Ansible Modules เจาะลึก: Command, Shell, Script และ Custom Modules

Ansible Modules เจาะลึก: Command, Shell, Script และ Custom Modules

Ansible มี modules หลายร้อยตัวสำหรับงานที่แตกต่างกัน แต่ modules กลุ่ม command execution คือพื้นฐานที่ใช้บ่อยที่สุด ไม่ว่าจะเป็น command, shell, script และสำหรับงานที่ไม่มี module รองรับ ก็ยังสร้าง custom module ขึ้นมาเองได้ บทความนี้อธิบายความแตกต่างระหว่าง command และ shell, วิธีใช้ script รัน loc

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 Templates (Jinja2): สร้าง Configuration Files อัตโนมัติ

Ansible Templates (Jinja2): สร้าง Configuration Files อัตโนมัติ

Template module ใน Ansible ใช้ Jinja2 engine สร้าง configuration files แบบ dynamic โดยแทรกค่าจาก variables และ facts ลงในไฟล์ต้นแบบ (.j2) ก่อน deploy ไปยัง remote host ทำให้ config file ชุดเดียวรองรับหลาย environment ได้โดยไม่ต้องดูแลหลายไฟล์แยกกัน บทความนี้อธิบายการใช้ template module ตั้งแต่โครงสร

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

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

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

Ansible Filters: ประมวลผล Variables ด้วย Jinja2 Filters

Ansible Filters: ประมวลผล Variables ด้วย Jinja2 Filters

Jinja2 Filters คือฟังก์ชันที่ใช้แปลงหรือประมวลผล variable ใน Playbook โดยใส่ | ตามหลังตัวแปร เช่น {{ username | upper }} ทำให้ไม่ต้องเขียน task เพิ่มเพื่อแปลงค่า และทำให้ template อ่านง่ายขึ้นมาก บทความนี้รวบรวม filters ที่ใช้บ่อยที่สุดในทางปฏิบัติ ครอบคลุมตั้งแต่การแปลง string, จัดการ list, ตรวจสอบ

Ansible Facts: รวบรวม System Information อัตโนมัติ

Ansible Facts: รวบรวม System Information อัตโนมัติ

Facts คือข้อมูลระบบที่ Playbook รวบรวมจาก remote host โดยอัตโนมัติก่อน task แรกเสมอ ครอบคลุมตั้งแต่ OS version, IP address, จำนวน CPU ไปจนถึง disk layout ทำให้ Playbook ตัดสินใจตามสภาพแวดล้อมจริงได้โดยไม่ต้อง hardcode บทความนี้อธิบาย facts ในเชิงลึก ตั้งแต่โครงสร้าง ansible_facts, การใช้ gather_subs

LINE CHAT