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.
- 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.
- 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.
- Mô tả tác dụng từng bước: Ansible được viết bằng Python, và
- 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.
- 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.
- 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)
- 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.
- 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
- 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.
- 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ó fileansible.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:
- 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.
- 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/
và~/.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).
- Chạy lại
- 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ảopip
đã 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êmexport 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óipython3-dev
hoặcbuild-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/