Site logo

Error Handling và Debugging trong Ansible: Hướng dẫn xử lý lỗi và troubleshooting hiệu quả

5:00 read

Giới thiệu

Khi làm việc với Ansible, bạn sẽ không tránh khỏi việc gặp lỗi - từ lỗi cú pháp đơn giản đến lỗi logic phức tạp. Khả năng xử lý lỗi hiệu quả và debug nhanh chóng là kỹ năng quan trọng giúp bạn trở thành một Ansible engineer chuyên nghiệp.

Trong bài này, chúng ta sẽ học cách:

  • Xử lý lỗi một cách chủ động trong playbook
  • Sử dụng các công cụ debug có sẵn
  • Áp dụng các kỹ thuật troubleshooting hiệu quả

1. Hiểu về Error Handling trong Ansible

1.1 Hành vi mặc định khi có lỗi

Mặc định, khi một task fail, Ansible sẽ:

  • Dừng thực thi playbook trên host đó
  • Tiếp tục chạy trên các host khác (nếu có)
  • Báo lỗi và exit với status code khác 0
---
- name: Demo lỗi mặc định
  hosts: webservers
  tasks:
    - name: Task này sẽ fail
      command: /bin/false
    
    - name: Task này sẽ không chạy
      debug:
        msg: "Bạn sẽ không thấy message này"

1.2 Ignore Errors - Bỏ qua lỗi

Sử dụng ignore_errors: yes khi bạn biết task có thể fail nhưng muốn tiếp tục:

- name: Kiểm tra service  tồn tại không
  command: systemctl status httpd
  register: service_status
  ignore_errors: yes

- name: Cài đặt nếu chưa 
  yum:
    name: httpd
    state: present
  when: service_status.rc != 0

Lưu ý: Chỉ dùng ignore_errors khi bạn thực sự hiểu tại sao lỗi xảy ra và nó không ảnh hưởng đến logic playbook.

Yêu cầu đăng nhập

Vui lòng đăng nhập để truy cập nội dung này

Additional Resources

Course Guide

Comprehensive PDF guide with examples

GitHub Repository

Example code for all lessons

Discussion

Have a question about this lesson? Post it here and get answers from instructors and peers.