Khái niệm Ansible là gì? Tìm hiểu về kiến trúc và những ứng dụng nổi bật của Ansible
https://fptshop.com.vn/https://fptshop.com.vn/
Giang Nguyễn
2 năm trước

Khái niệm Ansible là gì? Tìm hiểu về kiến trúc và những ứng dụng nổi bật của Ansible

Ansible là gì? Đây là một công cụ vô cùng hữu ích trong quản trị hệ thống. Chúng tôi sẽ giới thiệu khái niệm này đến bạn trong bài viết hôm nay, bên cạnh đó là lý do vì sao nên sử dụng và các ứng dụng của nó trong đời sống. Hãy cùng theo dõi nội dung chi tiết ngay sau đây!
Chia sẻ:
Cỡ chữ nhỏ
Cỡ chữ nhỏ
Cỡ chữ lớn
Nội dung bài viết
Ansible là gì?
Lý do nên sử dụng các công cụ quản lý cấu hình là gì?
Lý do nên sử dụng Ansible là gì?
Kiến trúc của Ansible là gì?
Tìm hiểu ứng dụng của Ansible 
Những thuật ngữ cơ bản khi sử dụng Ansible
Tạm kết

Khi làm việc trong một môi trường có nhiều server, chúng ta có rất nhiều thứ cần phải lo, chẳng hạn như setup crontab, deploy ứng dụng, update phần mềm mới, chỉnh sửa file cấu hình,... Các công việc này gây tiêu tốn nhiều thời gian của những người quản trị. Vậy liệu có cách nào để tự động hoá các thao tác này hay không? Câu trả lời là dùng các tool automation để quản trị hệ thống. Một số tool hiện nay có chức năng này là: Puppet, SaltStack, Chef, StackStorm, CFEngine, Ansible,... Trong đó, Ansible là một công cụ quản trị hệ thống vô cùng mạnh mẽ. Đây cũng là công cụ mà chúng tôi muốn giới thiệu đến bạn trong bài viết hôm nay. Ansible là gì? Có những tính năng nổi bật nào? Cùng tìm hiểu ngay!

Ansible là gì?

Ansible là gì?

Ansible là gì? Ansible là một trong số các công cụ quản lý cấu hình hiện đại, tạo điều kiện cho công việc cài đặt, quản lý và bảo trì server từ xa. Ansible có thiết kế tối giản, giúp người dùng cài đặt và chạy rất nhanh chóng. Người dùng sẽ viết các tập lệnh cấp phép Ansible trong YAML - một tiêu chuẩn tuần tự hoá dữ liệu rất thân thiện với người dùng và chúng không bị ràng buộc với ngôn ngữ lập trình nào. Chính vì thế, người dùng có thể tạo ra những tập lệnh cấp phép phức tạp một cách trực quan hơn so với những công cụ còn lại trong cùng một danh mục.

Ansible không yêu cầu người dùng phải cài đặt thêm bất cứ phần mềm đặc biệt nào. Trong phần mềm Ansible có một máy điều khiển được cài đặt tích hợp và giao tiếp với các nút thông qua SSH tiêu chuẩn. Ansible là một công cụ quản lý cấu hình và tự động hoá, gói gọn tất cả những tính năng phổ biến có trong những công cụ khác cùng loại, đồng thời vẫn đáp ứng được tính đơn giản và hiệu suất.

Lý do nên sử dụng các công cụ quản lý cấu hình là gì?

Hãy cùng tìm hiểu xem lý do vì sao chúng ta nên sử dụng các công cụ quản lý cấu hình. Trên thị trường hiện nay có rất nhiều công cụ quản lý cấu hình với độ phức tạp không giống nhau và phong cách kiến trúc đa dạng. Mỗi loại công cụ có một đặc điểm riêng biệt và hoạt động theo nhiều cách riêng nhưng tất cả chúng đều đảm bảo trạng thái của hệ thống phải trùng với trạng thái đã được một bộ tệp lệnh cung cấp miêu tả.

Lý do nên sử dụng các công cụ quản lý cấu hình là gì?

Việc dùng các công cụ quản lý cấu hình cho server sẽ cho phép bạn:

  • Sử dụng hệ thống kiểm soát version trong việc quản lý mọi thay đổi của cơ sở hạ tầng.
  • Sử dụng lại những tập lệnh cấp phép cho nhiều môi trường server như phát triển, thử nghiệm và production.
  • Làm việc trong môi trường phát triển chuẩn hoá bằng việc chia sẻ những tập lệnh cấp phép.
  • Hợp lý hoá quá trình sao chép server, tạo điều kiện khôi phục những lỗi nghiêm trọng. 
  • Cung cấp cách kiểm soát từ một đến hàng trăm server từ một vị trí tập trung, giúp cải thiện đáng kể tính hiệu quả và toàn vẹn của cơ sở hạ tầng server.

Lý do nên sử dụng Ansible là gì?

Lý do nên sử dụng Ansible là gì?

Ngày nay, có rất nhiều tool quản lý cấu hình, vậy tại sao chúng ta nên sử dụng Ansible? Lý do là vì:

  • Đây là một open source và được dùng miễn phí.
  • Sử dụng phương thức SSH.
  • Không tiêu tốn nhiều tài nguyên khi cài đặt.
  • Khá nhẹ và dễ cài đặt.
  • Được phát triển bởi ngôn ngữ Python, dù tạo thêm module cũng sẽ sử dụng ngôn ngữ này.
  • Các script chủ yếu được sử dụng định dạng YAML.
  • Trên Ansible có một cộng đồng tương tác lớn nên sẽ dễ dàng giao lưu và học hỏi.

Kiến trúc của Ansible là gì?

Ansible sử dụng kiến trúc agentless không cần agent để giao tiếp với máy khác. Cơ bản nhất là giao tiếp nhờ vào giao thức SSH trên Linux, WinRM trên Windows hoặc qua chính API mà thiết bị đó cung cấp.

Kiến trúc của Ansible là gì?

Ansible có thể giao tiếp được với rất nhiều OS, platform và thiết bị như VMware, Ubuntu, Windows, CentOS, AWS, Azure, các thiết bị mạng Cisco và Juniper,... và hoàn toàn không cần agent khi giao tiếp.

Cách thiết kế này đã giúp tăng tính tiện dụng của Ansible bởi vì chúng ta không cần phải cài đặt và bảo trì agent trên nhiều host. So với các loại công cụ có cùng chức năng như SaltStack, Chef và Puppet thì đây chính là một thế mạnh của Ansible.

Tìm hiểu ứng dụng của Ansible 

Provisioning

Khởi tạo VM, container hàng loạt trên cloud dựa vào API - OpenStack, Azure, AWS, Google Cloud,...

Configuration Management

Quản lý cấu hình tập trung các dịch vụ và không cần phải tốn công chỉnh sửa cấu hình trên từng server.

Application Deployment

Deploy ứng dụng hàng loạt, hỗ trợ quản lý hiệu quả vòng đời của ứng dụng từ giai đoạn dev đến production.

Security & Compliance

Quản lý đồng bộ các chính sách về an toàn thông tin trên nhiều sản phẩm và môi trường khác nhau, chẳng hạn như deploy policy hoặc cấu hình firewall hàng loạt trên nhiều server,...

Những thuật ngữ cơ bản khi sử dụng Ansible

Những thuật ngữ cơ bản khi sử dụng Ansible

Để có thể hiểu và áp dụng Ansible hiệu quả, bạn cần nắm rõ những thuật ngữ sau:

  • Controller Machine: Là máy cài Ansible, chịu trách nhiệm về việc quản lý, điều khiển và gửi task đến 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 ở đường dẫn /etc/ansible/hosts.
  • Playbook: Là file chứa các task được ghi dưới định dạng YAML. Máy controller sẽ đọc các task này 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: Là một block ghi lại các tác vụ cần thực hiện trong playbook và những thông số liên quan.
  • Module: Có rất nhiều module khác nhau trong Ansible, cụ thể là hơn 2000 module để thực hiện những 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 có nhu cầu. Một số module thường dùng cho các thao tác đơn giản như: Files, System, Cloud, Commands, Windows,... 
  • Role: Là một tập playbook đã được định nghĩa để thực hiện một tác vụ nhất định. Nếu như bạn có nhiều server, mỗi server sẽ thực hiện các task riêng biệt. Lúc này, nếu bạn viết tất cả vào cùng chung một file playbook thì rất khó quản lý. Do đó role giúp bạn phân chia khu vực với những nhiệm vụ riêng biệt.
  • Play: Là quá trình thực thi một playbook.
  • Facts: Là thông tin của các máy được Ansible điều khiển, như OS, network, system,...
  • Handlers: Được dùng để kích hoạt các thay đổi của dịch vụ start và stop service.
  • Variables: Được dùng để lưu trữ những giá trị và có thể thay đổi được chúng. Để khai báo biến, bạn chỉ cần dùng thuộc tính vars đã được cung cấp sẵn bởi Ansible.
  • Conditions: Ansible cho phép người dùng điều hướng lệnh chạy hoặc giới hạn phạm vi để thực hiện một câu lệnh nào đó. Nói cách khác, khi thoả mãn điều kiện thì câu lệnh mới được thực thi. Ngoài ra, Ansible cũng cung cấp thuộc tính Register - một thuộc tính giúp nhận câu trả lời từ một câu lệnh. Sau đó, chúng ta có thể sử dụng kết quả này để chạy những câu lệnh sau.

Tạm kết

Ansible là một công cụ giúp chuẩn bị trước và quản lý cấu hình. Nó là phương pháp đơn giản nhất và dễ nhất để bắt đầu vì nó chỉ sử dụng SSH để kết nối server cũng như chạy các task được cấu hình từ trước. Ansible cũng là công cụ giúp chúng ta dễ dàng chuyển đổi một Bash script thành các task trong Ansible cho việc quản lý. Bên cạnh đó, trước khi chạy các task, người dùng có thể nhìn nhận ngữ cảnh trước và xử lý giới hạn của chúng. Hy vọng rằng qua bài viết trên bạn đã hiểu Ansible là gì và các ứng dụng của nó. Đây là một công cụ mang lại nhiều lợi ích. Chúc bạn tận dụng tối đa hiệu quả của công cụ này nhé!

FPT Shop tự hào là chuỗi bán lẻ thiết bị điện máy uy tín top đầu tại thị trường Việt Nam. Sản phẩm của chúng tôi cam kết chính hãng 100% và khi mua hàng tại đây quý khách sẽ được nhận sự chăm sóc nhiệt tình. Giới thiệu đến bạn laptop Acer cấu hình mạnh và thiết kế sang trọng, mời bạn xem qua:

Laptop Acer 

Xem thêm:

Thương hiệu đảm bảo

Thương hiệu đảm bảo

Nhập khẩu, bảo hành chính hãng

Đổi trả dễ dàng

Đổi trả dễ dàng

Theo chính sách đổi trả tại FPT Shop

Giao hàng tận nơi

Giao hàng tận nơi

Trên toàn quốc

Sản phẩm chất lượng

Sản phẩm chất lượng

Đảm bảo tương thích và độ bền cao