Lab 1: Cài đặt Ansible & Kiểm tra Phiên bản

Lab 1: Cài đặt Ansible & Kiểm tra Phiên bản

1. Giới thiệu

  • Mô tả nội dung bài lab: Bài lab này sẽ hướng dẫn bạn cách cài đặt Ansible trên Control Node, đóng vai trò là máy chủ điều khiển trung tâm. Bạn sẽ học cách sử dụng các trình quản lý gói phổ biến hoặc pip để cài đặt Ansible, sau đó xác minh phiên bản đã cài đặt và làm quen với cấu trúc thư mục mặc định của Ansible.
  • Vì sao bài lab này quan trọng: Đây là bước khởi đầu quan trọng nhất. Nếu không có Ansible được cài đặt đúng cách, bạn sẽ không thể thực hiện bất kỳ thao tác tự động hóa nào. Việc hiểu cấu trúc thư mục giúp bạn quản lý các dự án Ansible hiệu quả hơn sau này.
  • Dịch vụ Ansible liên quan: Ansible Engine (công cụ cốt lõi của Ansible).
  • Điều kiện trước khi thực hiện:
  • Một máy chủ Linux (ví dụ: Ubuntu, CentOS) đóng vai trò Control Node.
  • Quyền sudo trên Control Node.
  • Kết nối internet để tải các gói cài đặt.

2. Mục tiêu

  • Mục tiêu chính:
  • Cài đặt thành công Ansible trên Control Node.
  • Kiểm tra và xác nhận phiên bản Ansible đã cài đặt.
  • Hiểu cấu trúc thư mục cơ bản của Ansible.
  • Danh sách thao tác dọn dẹp sau lab:
    • Gỡ bỏ Ansible (nếu cần thiết để cài đặt lại hoặc thử nghiệm các phương pháp khác).

3. Hướng dẫn từng bước

Thực hiện:

  • Cài đặt Ansible trên Control Node (sử dụng pip hoặc package manager)
  • Bước 1: Cập nhật hệ thống
    • Mô tả tác dụng từng bước: Đảm bảo hệ thống được cập nhật các gói phần mềm mới nhất, tránh xung đột phụ thuộc khi cài đặt Ansible.
      sudo apt update && sudo apt upgrade -y # Đối với Ubuntu/Debian
      sudo yum update -y # Đối với CentOS/RHEL
    • Kết quả mong đợi: Hệ thống được cập nhật thành công, không có lỗi.
  • Bước 2: Cài đặt Python PIP (nếu chưa có)
    • Mô tả tác dụng từng bước: Ansible được viết bằng Python, và pip là trình quản lý gói khuyến nghị cho Python.
      sudo apt install python3-pip -y # Đối với Ubuntu/Debian
      sudo yum install python3-pip -y # Đối với CentOS/RHEL
    • Kết quả mong đợi: pip được cài đặt thành công.
  • Bước 3: Cài đặt Ansible bằng pip
    • Mô tả tác dụng từng bước: Đây là phương pháp cài đặt Ansible được khuyến nghị và thường cung cấp phiên bản mới nhất.
      pip3 install ansible
    • Kết quả mong đợi: Ansible và các phụ thuộc của nó được tải xuống và cài đặt. Bạn sẽ thấy thông báo về quá trình cài đặt thành công.
  • Bước 4: (Tùy chọn) Cài đặt Ansible bằng package manager (ví dụ: apt)
    • Mô tả tác dụng từng bước: Một số hệ điều hành cung cấp gói Ansible thông qua trình quản lý gói của chúng. Phương pháp này đơn giản nhưng có thể không phải là phiên bản mới nhất.
      sudo apt install ansible -y # Đối với Ubuntu/Debian
      sudo yum install ansible -y # Đối với CentOS/RHEL (cần bật EPEL repo trước)
    • Kết quả mong đợi: Ansible được cài đặt thông qua trình quản lý gói.
    • Kiểm tra phiên bản Ansible đã cài đặt (ansible --version)
  • Bước 5: Kiểm tra phiên bản Ansible
    • Mô tả tác dụng từng bước: Lệnh này hiển thị phiên bản Ansible hiện tại cùng với các thông tin cấu hình khác như phiên bản Python, đường dẫn cấu hình.
      ansible --version
    • Kết quả mong đợi: Bạn sẽ thấy thông tin tương tự như sau (phiên bản có thể khác):
      ansible [core 2.15.x]
      config file = None
      configured module search path = ['/home/user/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
      ansible python module location = /usr/local/lib/python3.x/dist-packages/ansible
      ansible collection location = /home/user/.ansible/collections:/usr/share/ansible/collections
      executable location = /usr/local/bin/ansible
      python version = 3.x.x (main, ...) [GCC ...]
      jinja version = 3.x.x
      libyaml = True
    • Tìm hiểu về cấu trúc thư mục mặc định của Ansible
  • Bước 6: Khám phá thư mục cấu hình
    • Mô tả tác dụng từng bước: Mặc định, Ansible không tạo ra nhiều thư mục ngay sau khi cài đặt. Tuy nhiên, nó sẽ tìm kiếm các file cấu hình và tài nguyên ở một số vị trí nhất định. Lệnh này giúp bạn xem các đường dẫn mặc định mà Ansible sử dụng.
      ansible --version | grep "config file"
      ansible --version | grep "configured module search path"
      ansible --version | grep "ansible collection location"
    • Kết quả mong đợi: Bạn sẽ thấy các đường dẫn mặc định cho file cấu hình (nếu có), đường dẫn tìm kiếm module và collection. Ví dụ:
      config file = None
      configured module search path = ['/home/user/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
      ansible collection location = /home/user/.ansible/collections:/usr/share/ansible/collections

      Lưu ý: config file = None có nghĩa là hiện tại chưa có file ansible.cfg nào được tìm thấy ở các vị trí mặc định. Chúng ta sẽ tạo nó sau.
      Kiểm tra:

  • Lệnh kiểm tra:
    • Chạy lại ansible --version để xác nhận phiên bản.
    • Kiểm tra xem các thư mục ~/.ansible/~/.ansible/collections/ có được tạo không (chúng thường được tạo khi bạn chạy Ansible lần đầu hoặc cài đặt collections).
  • Mẹo xử lý lỗi thường gặp:
    • command not found: ansible: Điều này có nghĩa là Ansible không có trong biến môi trường PATH của bạn. Đảm bảo pip đã cài đặt Ansible vào một thư mục nằm trong PATH (thường là /usr/local/bin hoặc ~/.local/bin). Bạn có thể cần thêm export PATH=$PATH:~/.local/bin vào .bashrc hoặc .zshrc của mình.
    • Lỗi phụ thuộc Python: Đảm bảo bạn đã cài đặt python3-pip và các gói python3-dev hoặc build-essential nếu gặp lỗi biên dịch.
    • Lỗi quyền truy cập: Đảm bảo bạn có quyền sudo khi cài đặt các gói hệ thống.

4. Dọn dẹp

Hướng dẫn xóa, rollback tài nguyên:
Để gỡ bỏ Ansible đã cài đặt bằng pip:

pip3 uninstall ansible

Để gỡ bỏ Ansible đã cài đặt bằng apt (nếu bạn dùng phương pháp này):

sudo apt remove ansible -y
sudo apt autoremove -y

Để gỡ bỏ Ansible đã cài đặt bằng yum/dnf (nếu bạn dùng phương pháp này):

sudo yum remove ansible -y
sudo dnf remove ansible -y

Xóa các thư mục cấu hình và cache của Ansible (nếu có):

rm -rf ~/.ansible/
Last modified: 31/07/2025