(Phần 1) Tìm hiểu về Ansible
Lời nói đầu
Ansible là một trong những công cụ được sử dụng nhiều nhất để quản lý cơ sở hạ tầng đám mây và tại chỗ. Nếu bạn đang tìm kiếm một công cụ linh hoạt và mạnh mẽ để tự động hóa các tác vụ quản lý và cấu hình cơ sở hạ tầng của mình thì Ansible chính là lựa chọn phù hợp.
Trong hướng dẫn giới thiệu này, bạn sẽ học mọi thứ cần thiết để bắt đầu sử dụng Ansible và xây dựng các giải pháp tự động hóa mạnh mẽ.
- Ansible là gì?
- Các khái niệm và thuật ngữ cơ bản
- Cách cài đặt Ansible
- Ansible Inventory
- Lệnh ad hoc của Ansible
- Giới thiệu về Ansible Playbooks
Ansible là gì?
Ansible là một công cụ phần mềm cho phép tự động hóa và phối hợp đa nền tảng ở quy mô lớn và đã trở thành sự lựa chọn tiêu chuẩn trong số các giải pháp tự động hóa doanh nghiệp trong nhiều năm qua.
Giải pháp này chủ yếu dành cho các nhà điều hành CNTT, quản trị viên và người ra quyết định, giúp họ đạt được sự xuất sắc trong hoạt động trên toàn bộ hệ sinh thái cơ sở hạ tầng của mình.
Được hỗ trợ bởi RedHat và cộng đồng mã nguồn mở, đây được coi là lựa chọn tuyệt vời cho các trường hợp sử dụng quản lý cấu hình, cung cấp cơ sở hạ tầng và triển khai ứng dụng.
Các cơ hội tự động hóa của nó là vô tận trên Cloud, cơ sở hạ tầng tại chỗ và IoT và nó là một công cụ có thể cải thiện đáng kể hiệu quả và tính nhất quán của môi trường CNTT của bạn. Bạn đã sẵn sàng tự động hóa mọi thứ chưa? 😀
Ansible hoạt động như thế nào?
Ansible sử dụng các khái niệm về nút điều khiển và nút được quản lý. Nó kết nối từ nút điều khiển , bất kỳ máy nào có cài đặt Ansible, đến các nút được quản lý bằng cách gửi lệnh và hướng dẫn đến chúng.
Các đơn vị mã mà Ansible thực thi trên các nút được quản lý được gọi là mô-đun . Mỗi mô-đun được gọi bởi một tác vụ và danh sách các tác vụ được sắp xếp cùng nhau tạo thành một playbook. Người dùng viết playbook với các tác vụ và mô-đun để xác định trạng thái mong muốn của hệ thống. Các máy được quản lý được thể hiện trong một tệp kiểm kê đơn giản nhóm tất cả các nút vào các danh mục khác nhau.
Ansible sử dụng ngôn ngữ rất đơn giản,theo format YAML , để định nghĩa các playbook theo định dạng dữ liệu mà con người có thể đọc được, thực sự dễ hiểu ngay từ ngày đầu tiên.Hơn nữa, Ansible không yêu cầu cài đặt bất kỳ tác nhân bổ sung nào trên các nút được quản lý nên rất dễ dàng để bắt đầu sử dụng.
Lợi ích của việc sử dụng Ansible
- Một dự án cộng đồng miễn phí và mã nguồn mở với lượng người dùng đông đảo.
- Đã được thử nghiệm trong nhiều năm và là công cụ được các chuyên gia CNTT ưa chuộng.
- Dễ dàng bắt đầu và sử dụng ngay từ ngày đầu tiên, mà không cần bất kỳ kỹ năng lập trình đặc biệt nào.
- Quy trình triển khai đơn giản mà không cần bất kỳ tác nhân bổ sung nào.
Các Thuật Ngữ Cơ Bản
- Controller Machine: Là máy cài Ansible, chịu trách nhiệm quản lý, điều khiển và gởi task tới các máy con cần quản lý.
- Inventory: Là file chứa thông tin các server cần quản lý. File này thường nằm tại đường dẫn /etc/ansible/hosts.
- Playbook: Là file chứa các task của Ansible được ghi dưới định dạng YAML. Máy controller sẽ đọc các task trong Playbook và đẩy các lệnh thực thi tương ứng bằng Python xuống các máy con.
- Task: Một block ghi tác vụ cần thực hiện trong playbook và các thông số liên quan. Ví dụ 1 playbook có thể chứa 2 task là: yum update và yum install vim.
- Module: Ansible có rất nhiều module, ví dụ như moduel yum là module dùng để cài đặt các gói phần mềm qua yum. Ansible hiện có hơn ….2000 module để thực hiện nhiều tác vụ khác nhau, bạn cũng có thể tự viết thêm các module của mình nếu muốn.
- Role: Là một tập playbook được định nghĩa sẵn để thực thi 1 tác vụ nhất định (ví dụ cài đặt LAMP stack).
- Play: là quá trình thực thi của 1 playbook
- Facts: Thông tin của những máy được Ansible điều khiển, cụ thể là thông tin về OS, network, system…
- Handlers: Dùng để kích hoạt các thay đổi của dịch vụ như start, stop service.
Cách cài đặt Ansible
Để bắt đầu sử dụng Ansible, bạn sẽ cần cài đặt nó trên một nút điều khiển, ví dụ như máy tính xách tay của bạn. Từ nút điều khiển này, Ansible sẽ kết nối và quản lý các máy khác và sắp xếp các tác vụ khác nhau.
Yêu cầu cài đặt
Nút điều khiển của bạn có thể là bất kỳ máy nào có Python 3.8 trở lên, nhưng Windows không được hỗ trợ. Đối với các nút được quản lý, Ansible cần giao tiếp với chúng qua SSH và SFTP (điều này cũng có thể được chuyển sang SCP thông qua tệp ansible.cfg) hoặc WinRM cho máy chủ Windows. Các nút được quản lý cũng cần Python 2 (phiên bản 2.6 trở lên) hoặc Python (phiên bản 3.5 trở lên) và trong trường hợp các nút Windows, PowerShell 3.0 trở lên và ít nhất .NET 4.0 được cài đặt. Quy trình cài đặt chính xác phụ thuộc vào máy và hệ điều hành của bạn nhưng cách phổ biến nhất là sử dụng pip . Để cài đặt pip, trong trường hợp hệ thống của bạn chưa có pip:
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python get-pip.py --user
$ python3 -m pip install --user ansible
Ngoài ra bạn có thể sử dùng apt để cài đặt ansible
- Cài đặt trên Ubuntu
sudo apt-add-repository -y ppa:ansible/ansible
sudo apt-get update
sudo apt-get install -y ansible
- Cài đặt trên centos
sudo yum install epel-release
sudo yum install ansible
Vì có nhiều cách khác nhau để cài đặt cho từng hệ điều hành, bạn cũng có thể xem tại đây để tìm cách chính thức được đề xuất cho môi trường của mình. Kiểm tra hướng dẫn này về cách cài đặt Ansible trên Ubuntu, RHEL, macOS, CentOS . Bạn có thể kiểm tra xem nó đã được cài đặt thành công hay chưa bằng cách chạy command:
ansible --version
Tài liệu liên quan
All rights reserved